将生产数据库迁移到与开发数据库相同的结构
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应该根据代码将上次迁移中的模型与当前模型进行比较。
我几周前在 'live' 主机上部署了一个 SQL Server CE 数据库。它有两次旧迁移的迁移历史。然后我有我的开发数据库,它经历了无数次迁移,以及几次删除和重新创建时刻。
现在我想使用 EF 迁移来构建一个迁移,该迁移将更新生产数据库以匹配我在开发上的代码优先模型。我认为如果我清除了产品迁移历史记录,并且 运行 Add-Migration
,EF 将比较数据库和模型,并生成迁移 class 以使数据库与模型保持同步。
真正发生的是生成的迁移试图创建整个 dd,好吧,所有表、FK 和索引。如何使用 EF 迁移仅获得正确的更新?
如果您的 Dev box 上仍有已部署的迁移,您可以创建一个脚本来更新已部署的版本:
Update-Database -Script -SourceMigration: VersionDeployed -TargetMigration: CurrentMigration
您也可以尝试使用迁移历史记录关闭 PROD 数据库(不要清除它)。 EF应该根据代码将上次迁移中的模型与当前模型进行比较。