Таблица истории миграций EF Core больше не генерируется, если я изменяю схему DbContext - PullRequest
0 голосов
/ 29 октября 2019

У меня есть два DbContext, и у каждого есть своя собственная схема и таблица истории миграций. Проблема в том, что после того, как я изменил имя и схему таблицы истории миграций, она больше не генерируется автоматически при первом вызове «Update-Database -Context xyz», и чтобы заставить миграции работать, мне нужно создавать таблицы вручную. Есть ли способ решить эту проблему, чтобы это произошло автоматически?

Вот как я настраиваю свой DbContext

servicesCollection.AddDbContext<CoreDbContext>(options => 
            {
                options.UseSqlServer(
                            connectionString,
                            b => b.MigrationsHistoryTable(HistoryRepository.DefaultTableName, CoreDbContext.SCHEMA));
            });
servicesCollection.AddDbContext<AddonDbContext>(options =>
            {
                options.UseSqlServer(
                            connectionString,
                            b => b.MigrationsHistoryTable(HistoryRepository.DefaultTableName, AddonDbContext.SCHEMA));
            });

А вот OnModelCreating для обоих контекстов:

protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.HasDefaultSchema(SCHEMA);
        }

CoreDbContext.SCHEMA и AddonDbContext.SCHEMA - это строковая константа, содержащая имя схемы

public const string SCHEMA = "CoreModule";
...
public const string SCHEMA = "AddonModule";

Это означает, что мои таблицы истории должны быть названы так:

CoreModule.__EFMigrationsHistory
AddonModule.__EFMigrationsHistory

Но они не созданы: (

...