2016-07-21 2 views

답변

14

UseSqlServer로 호출을 수행 내부 사용자 마이그레이션 테이블 및 스키마 이름을 구성 할 수 있습니다.

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

좋은 것. 단순합니다. 감사. –

+0

@bricelam 또한 마이그레이션 기록 테이블의 열 이름을 변경할 수 있습니까? –

+1

@AlexBello [블로그 게시물에 올라와 있습니다] (http://www.bricelam.net/2017/01/04/efcore-history-table.html). – bricelam

8

소스 코드 (HistoryRepository.cs)를 들여다 보면. 당신은 DbContext constructor

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

내부 또는 OnConfiguring method

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

매우 가깝습니다. 나는 그 대답을 한 걸음 더 나아 갔다. – bricelam

+0

MS가 다음과 같이 변경 한 것 같습니다. WithMigrationsHistoryTableName ("bar") 및 WithMigrationsHistoryTableSchema ("foo"). –

관련 문제