将生产数据库迁移到与开发数据库相同的结构

Migrate a production database to the same structure as a dev database

我几周前在 'live' 主机上部署了一个 SQL Server CE 数据库。它有两次旧迁移的迁移历史。然后我有我的开发数据库,​​它经历了无数次迁移,以及几次删除和重新创建时刻。

现在我想使用 EF 迁移来构建一个迁移,该迁移将更新生产数据库以匹配我在开发上的代码优先模型。我认为如果我清除了产品迁移历史记录,并且 运行 Add-Migration,EF 将比较数据库和模型,并生成迁移 class 以使数据库与模型保持同步。

真正发生的是生成的迁移试图创建整个 dd,好吧,所有表、FK 和索引。如何使用 EF 迁移仅获得正确的更新?

如果您的 Dev box 上仍有已部署的迁移,您可以创建一个脚本来更新已部署的版本:

Update-Database -Script -SourceMigration: VersionDeployed -TargetMigration: CurrentMigration

您也可以尝试使用迁移历史记录关闭 PROD 数据库(不要清除它)。 EF应该根据代码将上次迁移中的模型与当前模型进行比较。

http://cpratt.co/migrating-production-database-with-entity-framework-code-first/#at_pco=smlwn-1.0&at_si=54ad5c7b61c48943&at_ab=per-12&at_pos=0&at_tot=1