我可以为现有模型创建初始迁移吗?

时间:2012-10-12 11:19:56

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

我正在使用Code-First迁移。现在我希望我的应用程序在发布到新服务器时创建数据库和模型的所有表。

我不想使用自动迁移,因为我想跟踪数据库版本控制。 但是,当我将我的应用程序部署到新服务器时,我不希望它执行所有步骤来进入当前模型(例如,添加在以后的修订版中删除的表/列)。

我想知道是否有办法创建一个包含整个(POCO)数据模型的迁移。

1 个答案:

答案 0 :(得分:0)

当您更改连接字符串以定位新数据库时,EF将查看您的模型,并将其与数据库中存在的内容进行迁移。如果不存在(新数据库)它将创建一个数据库以匹配您拥有的数据库,方法是为您执行每次迁移。如果要在实现之前查看生成的sql,请运行:

update-database -verbose -script 

在包管理器控制台中查看生成的内容。

它看起来像:

  • 创建表
  • 插入迁移
  • 历史记录行修改
  • 表格插入
  • 迁移历史记录行
  • 等...

即使您有大量的迁移,它也会将它们全部合并到一个脚本中,并立即实现它们。