From e7bb803ae2cd82a1139393ce372905ddc6ab2e6c Mon Sep 17 00:00:00 2001 From: claude Date: Thu, 28 May 2026 18:26:39 +0300 Subject: [PATCH] fix: Standardize EF Core migrations table names for consistency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Rename EmailApiDbContext MigrationTableName from '_EmailApiMigrations' to '_Migrations' - Rename MyAiDbContext MigrationTableName from '_MyAiMigrations' to '_Migrations' - Add migrations to rename tables in database: emailApi._EmailApiMigrations → emailApi._Migrations, myAi._MyAiMigrations → myAi._Migrations - Aligns with naming convention used in other schemas (cvMatcher, cvSearch, rag) Co-Authored-By: Claude Haiku 4.5 --- Apis/email-api-data/EmailApiDbContext.cs | 2 +- ...151849_RenameEFMigrationsTable.Designer.cs | 69 +++++++++++++++++++ .../20260528151849_RenameEFMigrationsTable.cs | 24 +++++++ Apis/myai-data/Data/MyAiDbContext.cs | 2 +- ...151850_RenameEFMigrationsTable.Designer.cs | 56 +++++++++++++++ .../20260528151850_RenameEFMigrationsTable.cs | 24 +++++++ 6 files changed, 175 insertions(+), 2 deletions(-) create mode 100644 Apis/email-api-data/Migrations/20260528151849_RenameEFMigrationsTable.Designer.cs create mode 100644 Apis/email-api-data/Migrations/20260528151849_RenameEFMigrationsTable.cs create mode 100644 Apis/myai-data/Migrations/20260528151850_RenameEFMigrationsTable.Designer.cs create mode 100644 Apis/myai-data/Migrations/20260528151850_RenameEFMigrationsTable.cs diff --git a/Apis/email-api-data/EmailApiDbContext.cs b/Apis/email-api-data/EmailApiDbContext.cs index e0763a9..3ec6901 100644 --- a/Apis/email-api-data/EmailApiDbContext.cs +++ b/Apis/email-api-data/EmailApiDbContext.cs @@ -6,7 +6,7 @@ namespace EmailApi.Data; public sealed class EmailApiDbContext : DbContext { public const string SchemaName = "emailApi"; - public const string MigrationTableName = "_EmailApiMigrations"; + public const string MigrationTableName = "_Migrations"; public EmailApiDbContext(DbContextOptions options) : base(options) { } diff --git a/Apis/email-api-data/Migrations/20260528151849_RenameEFMigrationsTable.Designer.cs b/Apis/email-api-data/Migrations/20260528151849_RenameEFMigrationsTable.Designer.cs new file mode 100644 index 0000000..5b14836 --- /dev/null +++ b/Apis/email-api-data/Migrations/20260528151849_RenameEFMigrationsTable.Designer.cs @@ -0,0 +1,69 @@ +// +using System; +using EmailApi.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace EmailApi.Data.Migrations +{ + [DbContext(typeof(EmailApiDbContext))] + [Migration("20260528151849_RenameEFMigrationsTable")] + partial class RenameEFMigrationsTable + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasDefaultSchema("emailApi") + .HasAnnotation("ProductVersion", "10.0.7") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("EmailApi.Data.Entities.EmailTemplateEntity", b => + { + b.Property("Key") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Language") + .HasMaxLength(8) + .HasColumnType("nvarchar(8)"); + + b.Property("Description") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)") + .HasDefaultValue(""); + + b.Property("OperatorCopy") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasDefaultValue(""); + + b.Property("UpdatedAt") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValueSql("SYSUTCDATETIME()"); + + b.Property("Value") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Key", "Language"); + + b.ToTable("EmailTemplates", "emailApi"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Apis/email-api-data/Migrations/20260528151849_RenameEFMigrationsTable.cs b/Apis/email-api-data/Migrations/20260528151849_RenameEFMigrationsTable.cs new file mode 100644 index 0000000..da8447a --- /dev/null +++ b/Apis/email-api-data/Migrations/20260528151849_RenameEFMigrationsTable.cs @@ -0,0 +1,24 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace EmailApi.Data.Migrations +{ + /// + public partial class RenameEFMigrationsTable : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + // Rename the EF Core migrations history table to match naming convention + migrationBuilder.Sql("EXEC sp_rename '[emailApi].[_EmailApiMigrations]', '_Migrations'"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + // Revert the rename + migrationBuilder.Sql("EXEC sp_rename '[emailApi].[_Migrations]', '_EmailApiMigrations'"); + } + } +} diff --git a/Apis/myai-data/Data/MyAiDbContext.cs b/Apis/myai-data/Data/MyAiDbContext.cs index 6ceb60b..051f94e 100644 --- a/Apis/myai-data/Data/MyAiDbContext.cs +++ b/Apis/myai-data/Data/MyAiDbContext.cs @@ -6,7 +6,7 @@ namespace MyAi.Data; public sealed class MyAiDbContext : DbContext { public const string SchemaName = "myAi"; - public const string MigrationTableName = "_MyAiMigrations"; + public const string MigrationTableName = "_Migrations"; public MyAiDbContext(DbContextOptions options) : base(options) { } diff --git a/Apis/myai-data/Migrations/20260528151850_RenameEFMigrationsTable.Designer.cs b/Apis/myai-data/Migrations/20260528151850_RenameEFMigrationsTable.Designer.cs new file mode 100644 index 0000000..c475cb7 --- /dev/null +++ b/Apis/myai-data/Migrations/20260528151850_RenameEFMigrationsTable.Designer.cs @@ -0,0 +1,56 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using MyAi.Data; + +#nullable disable + +namespace MyAi.Data.Migrations +{ + [DbContext(typeof(MyAiDbContext))] + [Migration("20260528151850_RenameEFMigrationsTable")] + partial class RenameEFMigrationsTable + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.5") + .HasDefaultSchema("myAi"); + + modelBuilder.Entity("MyAi.Data.Entities.TemplateEntity", b => + { + b.Property("Key") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Language") + .HasMaxLength(8) + .HasColumnType("nvarchar(8)"); + + b.Property("Description") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)") + .HasDefaultValue(""); + + b.Property("UpdatedAt") + .HasColumnType("datetime2"); + + b.Property("Value") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Key", "Language"); + + b.ToTable("Templates"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Apis/myai-data/Migrations/20260528151850_RenameEFMigrationsTable.cs b/Apis/myai-data/Migrations/20260528151850_RenameEFMigrationsTable.cs new file mode 100644 index 0000000..f8da7e2 --- /dev/null +++ b/Apis/myai-data/Migrations/20260528151850_RenameEFMigrationsTable.cs @@ -0,0 +1,24 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace MyAi.Data.Migrations +{ + /// + public partial class RenameEFMigrationsTable : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + // Rename the EF Core migrations history table to match naming convention + migrationBuilder.Sql("EXEC sp_rename '[myAi].[_MyAiMigrations]', '_Migrations'"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + // Revert the rename + migrationBuilder.Sql("EXEC sp_rename '[myAi].[_Migrations]', '_MyAiMigrations'"); + } + } +}