【问题标题】:Should I use different migration tables for each SQL schema?我应该为每个 SQL 模式使用不同的迁移表吗?
【发布时间】:2017-05-15 10:44:20
【问题描述】:

我的项目正在针对现有数据库使用默认 dbo 架构,并且我为正在构建的新模块创建了单独的架构。我首先创建了一个代码,并在我的新代码优先域模型中从现有数据库生成了一些对象。我创建了一个空的第一个迁移并更新了数据库。现在,我使用以下行为我的新架构创建了一个新表:

modelBuilder.Entity<newTblClass>().ToTable("newTblClass", "newSchema");

然后我创建了一个新的迁移并更新了数据库。 在我的数据库中,我注意到我的迁移是在表 dbo.__MigrationHistory 上创建的。 这是正确的方法吗?还是应该为每个架构使用单独的迁移表?如果是的话怎么办?

【问题讨论】:

  • EF 在该表上存储错误历史记录。将所有迁移记录放在一张表中是一件好事。保持原样。
  • 如果您希望每个架构单独迁移,您需要为每个架构创建一个上下文。如果您想将 __MigrationHistory 移动到不同的架构,也可以使用 technique

标签: c# sql entity-framework code-first entity-framework-migrations


【解决方案1】:

其实迁移有两种方式。第一种方法是为每个模式更改添加新的。第二种方式是自动创建迁移。

如果您想退回所有更改,您可以使用第一种方式。

当你改变你的架构时,你应该这样做。

显示提醒 我们编写 Enable-Migrations

之后,要添加 FirtsMigration 和其他迁移,NugetPackage 控制台 我们正在编写 Add-Migration FirstMigration

这样,我们的迁移文件夹和配置类就会自发创建。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-15
    • 2020-09-07
    • 2018-09-09
    • 2018-03-14
    • 2020-03-17
    • 1970-01-01
    • 2010-09-07
    相关资源
    最近更新 更多