From 593841b5a6e02f6b0dd4a753017ee8efe07df117 Mon Sep 17 00:00:00 2001 From: Remco Date: Thu, 5 Feb 2026 23:25:03 +0100 Subject: [PATCH] Migrations now work using Package Manager Console --- .../TurboSamplePlugin.DesignTime.csproj | 18 ----- TurboSamplePlugin.sln | 14 ---- .../20260205210952_Init.Designer.cs | 65 +++++++++++++++++++ .../Migrations/20260205210952_Init.cs | 45 +++++++++++++ .../SampleDbContextModelSnapshot.cs | 62 ++++++++++++++++++ .../Database}/SampleDbContextFactory.cs | 2 +- TurboSamplePlugin/TurboSamplePlugin.csproj | 61 ++++++++--------- 7 files changed, 199 insertions(+), 68 deletions(-) delete mode 100644 TurboSamplePlugin.DesignTime/TurboSamplePlugin.DesignTime.csproj create mode 100644 TurboSamplePlugin/Database/Migrations/20260205210952_Init.Designer.cs create mode 100644 TurboSamplePlugin/Database/Migrations/20260205210952_Init.cs create mode 100644 TurboSamplePlugin/Database/Migrations/SampleDbContextModelSnapshot.cs rename {TurboSamplePlugin.DesignTime => TurboSamplePlugin/Database}/SampleDbContextFactory.cs (97%) diff --git a/TurboSamplePlugin.DesignTime/TurboSamplePlugin.DesignTime.csproj b/TurboSamplePlugin.DesignTime/TurboSamplePlugin.DesignTime.csproj deleted file mode 100644 index 20875b2..0000000 --- a/TurboSamplePlugin.DesignTime/TurboSamplePlugin.DesignTime.csproj +++ /dev/null @@ -1,18 +0,0 @@ - - - net9.0 - false - false - true - false - - - - - - - - - - - diff --git a/TurboSamplePlugin.sln b/TurboSamplePlugin.sln index 20990ec..6e5d83b 100644 --- a/TurboSamplePlugin.sln +++ b/TurboSamplePlugin.sln @@ -5,8 +5,6 @@ VisualStudioVersion = 17.8.34322.80 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TurboSamplePlugin", "TurboSamplePlugin\TurboSamplePlugin.csproj", "{24B90E2F-1A81-4D24-B47A-2DCAF8CA62BF}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TurboSamplePlugin.DesignTime", "TurboSamplePlugin.DesignTime\TurboSamplePlugin.DesignTime.csproj", "{5EE7777B-A29F-4FF2-A030-1BA27FBBF17F}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -29,18 +27,6 @@ Global {24B90E2F-1A81-4D24-B47A-2DCAF8CA62BF}.Release|x64.Build.0 = Release|Any CPU {24B90E2F-1A81-4D24-B47A-2DCAF8CA62BF}.Release|x86.ActiveCfg = Release|Any CPU {24B90E2F-1A81-4D24-B47A-2DCAF8CA62BF}.Release|x86.Build.0 = Release|Any CPU - {5EE7777B-A29F-4FF2-A030-1BA27FBBF17F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5EE7777B-A29F-4FF2-A030-1BA27FBBF17F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5EE7777B-A29F-4FF2-A030-1BA27FBBF17F}.Debug|x64.ActiveCfg = Debug|Any CPU - {5EE7777B-A29F-4FF2-A030-1BA27FBBF17F}.Debug|x64.Build.0 = Debug|Any CPU - {5EE7777B-A29F-4FF2-A030-1BA27FBBF17F}.Debug|x86.ActiveCfg = Debug|Any CPU - {5EE7777B-A29F-4FF2-A030-1BA27FBBF17F}.Debug|x86.Build.0 = Debug|Any CPU - {5EE7777B-A29F-4FF2-A030-1BA27FBBF17F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5EE7777B-A29F-4FF2-A030-1BA27FBBF17F}.Release|Any CPU.Build.0 = Release|Any CPU - {5EE7777B-A29F-4FF2-A030-1BA27FBBF17F}.Release|x64.ActiveCfg = Release|Any CPU - {5EE7777B-A29F-4FF2-A030-1BA27FBBF17F}.Release|x64.Build.0 = Release|Any CPU - {5EE7777B-A29F-4FF2-A030-1BA27FBBF17F}.Release|x86.ActiveCfg = Release|Any CPU - {5EE7777B-A29F-4FF2-A030-1BA27FBBF17F}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/TurboSamplePlugin/Database/Migrations/20260205210952_Init.Designer.cs b/TurboSamplePlugin/Database/Migrations/20260205210952_Init.Designer.cs new file mode 100644 index 0000000..7fa6635 --- /dev/null +++ b/TurboSamplePlugin/Database/Migrations/20260205210952_Init.Designer.cs @@ -0,0 +1,65 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using TurboSamplePlugin.Database; + +#nullable disable + +namespace TurboSamplePlugin.Migrations +{ + [DbContext(typeof(SampleDbContext))] + [Migration("20260205210952_Init")] + partial class Init + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "9.0.8") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder); + + modelBuilder.Entity("TurboSamplePlugin.Database.SampleEntity", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("CreatedAt") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)") + .HasColumnName("created_at"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("CreatedAt")); + + b.Property("DeletedAt") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)") + .HasColumnName("deleted_at"); + + MySqlPropertyBuilderExtensions.UseMySqlComputedColumn(b.Property("DeletedAt")); + + b.Property("UpdatedAt") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)") + .HasColumnName("updated_at"); + + MySqlPropertyBuilderExtensions.UseMySqlComputedColumn(b.Property("UpdatedAt")); + + b.HasKey("Id"); + + b.ToTable("tsp_sample_entities"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/TurboSamplePlugin/Database/Migrations/20260205210952_Init.cs b/TurboSamplePlugin/Database/Migrations/20260205210952_Init.cs new file mode 100644 index 0000000..5daad92 --- /dev/null +++ b/TurboSamplePlugin/Database/Migrations/20260205210952_Init.cs @@ -0,0 +1,45 @@ +using System; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace TurboSamplePlugin.Migrations +{ + /// + public partial class Init : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterDatabase() + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "tsp_sample_entities", + columns: table => new + { + id = table.Column(type: "int", nullable: false) + .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), + created_at = table.Column(type: "datetime(6)", nullable: false) + .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), + updated_at = table.Column(type: "datetime(6)", nullable: false) + .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.ComputedColumn), + deleted_at = table.Column(type: "datetime(6)", nullable: true) + .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.ComputedColumn) + }, + constraints: table => + { + table.PrimaryKey("PK_tsp_sample_entities", x => x.id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "tsp_sample_entities"); + } + } +} diff --git a/TurboSamplePlugin/Database/Migrations/SampleDbContextModelSnapshot.cs b/TurboSamplePlugin/Database/Migrations/SampleDbContextModelSnapshot.cs new file mode 100644 index 0000000..03bacfb --- /dev/null +++ b/TurboSamplePlugin/Database/Migrations/SampleDbContextModelSnapshot.cs @@ -0,0 +1,62 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using TurboSamplePlugin.Database; + +#nullable disable + +namespace TurboSamplePlugin.Migrations +{ + [DbContext(typeof(SampleDbContext))] + partial class SampleDbContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "9.0.8") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder); + + modelBuilder.Entity("TurboSamplePlugin.Database.SampleEntity", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("CreatedAt") + .ValueGeneratedOnAdd() + .HasColumnType("datetime(6)") + .HasColumnName("created_at"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("CreatedAt")); + + b.Property("DeletedAt") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)") + .HasColumnName("deleted_at"); + + MySqlPropertyBuilderExtensions.UseMySqlComputedColumn(b.Property("DeletedAt")); + + b.Property("UpdatedAt") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime(6)") + .HasColumnName("updated_at"); + + MySqlPropertyBuilderExtensions.UseMySqlComputedColumn(b.Property("UpdatedAt")); + + b.HasKey("Id"); + + b.ToTable("tsp_sample_entities"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/TurboSamplePlugin.DesignTime/SampleDbContextFactory.cs b/TurboSamplePlugin/Database/SampleDbContextFactory.cs similarity index 97% rename from TurboSamplePlugin.DesignTime/SampleDbContextFactory.cs rename to TurboSamplePlugin/Database/SampleDbContextFactory.cs index 2be46fd..55f5b51 100644 --- a/TurboSamplePlugin.DesignTime/SampleDbContextFactory.cs +++ b/TurboSamplePlugin/Database/SampleDbContextFactory.cs @@ -22,7 +22,7 @@ public SampleDbContext CreateDbContext(string[] args) services.AddSingleton(_ => JsonSerializer.Deserialize( - File.ReadAllText("../TurboSamplePlugin/manifest.json") + File.ReadAllText("../manifest.json") )! ); services.AddSingleton(sp => diff --git a/TurboSamplePlugin/TurboSamplePlugin.csproj b/TurboSamplePlugin/TurboSamplePlugin.csproj index e11c445..d4ddffa 100644 --- a/TurboSamplePlugin/TurboSamplePlugin.csproj +++ b/TurboSamplePlugin/TurboSamplePlugin.csproj @@ -7,13 +7,13 @@ false - + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + @@ -21,35 +21,26 @@ - - - - - - + + ..\..\turbo-cloud\Turbo.Contracts\bin\Debug\net9.0\Turbo.Contracts.dll + + + ..\..\turbo-cloud\Turbo.Crypto\bin\Debug\net9.0\Turbo.Crypto.dll + + + ..\..\turbo-cloud\Turbo.Database\bin\Debug\net9.0\Turbo.Database.dll + + + ..\..\turbo-cloud\Turbo.Events\bin\Debug\net9.0\Turbo.Events.dll + + + ..\..\turbo-cloud\Turbo.Messages\bin\Debug\net9.0\Turbo.Messages.dll + + + ..\..\turbo-cloud\Turbo.Pipeline\bin\Debug\net9.0\Turbo.Pipeline.dll + + + ..\..\turbo-cloud\Turbo.Primitives\bin\Debug\net9.0\Turbo.Primitives.dll +