【问题标题】:Recreate initial Entity Framework Migration重新创建初始实体框架迁移
【发布时间】:2018-03-07 19:05:23
【问题描述】:

我使用实体框架代码优先迁移。在我的项目中已经有很多迁移,但不是最初的迁移。我有一个带有初始迁移条目的开发数据库。 我的问题是,有没有办法重新创建初始迁移 cs 文件,例如创建另一个开发数据库。

【问题讨论】:

  • 您是说您无意中删除了迁移或其他什么?应该没关系。如果您将连接字符串指向一个新数据库,它应该被创建并匹配您当前的模型。另一种选择,如果您只有一个 DEV 数据库,您可以只使用reset migrations
  • 不幸的是它已经在生产中了。我想通过更改连接字符串来设置一个新的测试环境。无法创建数据库,因为一个(或多个)C# 迁移文件丢失。因此 update-database 命令想要更改从未创建的表的列。

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


【解决方案1】:

您可以强制迁移以从头开始创建数据库:

Update-Database -SourceMigration $InitialDatabase

这将导致创建所有数据库对象并应用迁移。见here

另一种方法是使用initializers。您可以暂时将其更改为使用CreateDatabaseIfNotExists。我们所做的是通过 web.config 设置测试 DEV 环境,并在 DEV 中使用该初始化程序,否则在 PROD 中使用 MigrateDatabaseToLatestVersionNullDatabaseInitializer

【讨论】:

    猜你喜欢
    • 2012-08-17
    • 1970-01-01
    • 2013-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 2012-05-04
    • 2015-04-21
    相关资源
    最近更新 更多