У меня есть два 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
Но они не созданы: (