Skorunka František
Skorunka František

Reputation: 5430

Entity Framework Core - change schema of "__EFMigrationsHistory" table

Is it possible to change schema of __EFMigrationsHistory table in EntityFramework Core?

Upvotes: 22

Views: 9269

Answers (2)

bricelam
bricelam

Reputation: 30345

Do it in your call to UseSqlServer.

optionsBuilder
    .UseSqlServer(
        "...",
        x => x.MigrationsHistoryTable(
            HistoryRepository.DefaultTableName,
            "mySchema"));

Upvotes: 59

tmg
tmg

Reputation: 20383

Looking into source code (HistoryRepository.cs). You can configure custom migrations table and schema names, inside DbContext constructor

public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
{
    var relationalOptions = RelationalOptionsExtension.Extract(options);
    relationalOptions.MigrationsHistoryTableName = "bar";
    relationalOptions.MigrationsHistoryTableSchema = "foo";
}

or inside OnConfiguring method

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    var relationalOptions = RelationalOptionsExtension.Extract(optionsBuilder.Options);
    relationalOptions.MigrationsHistoryTableName = "bar";
    relationalOptions.MigrationsHistoryTableSchema = "foo";
}

Upvotes: 12

Related Questions