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

Database 将生产数据库迁移到与开发人员数据库相同的结构,database,entity-framework-6,sql-server-ce,entity-framework-migrations,Database,Entity Framework 6,Sql Server Ce,Entity Framework Migrations,我在几周前部署的“实时”主机上有一个SQL Server CE数据库。它有两次旧迁移的迁移历史。然后我有了我的dev数据库,它经历了无数次迁移,还有一些删除和重新创建的时刻 现在,我想使用EF migrations来构建一个迁移,该迁移将更新生产数据库,以匹配我在dev上的code first模型。我认为,如果我清除了产品迁移历史记录,并运行Add migration,EF将比较数据库和模型,并生成一个迁移类,使数据库与模型保持最新 真正发生的是,生成的迁移尝试创建整个dd、所有表、FK和索引。

我在几周前部署的“实时”主机上有一个SQL Server CE数据库。它有两次旧迁移的迁移历史。然后我有了我的dev数据库,它经历了无数次迁移,还有一些删除和重新创建的时刻

现在,我想使用EF migrations来构建一个迁移,该迁移将更新生产数据库,以匹配我在dev上的code first模型。我认为,如果我清除了产品迁移历史记录,并运行
Add migration
,EF将比较数据库和模型,并生成一个迁移类,使数据库与模型保持最新


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

如果您的开发设备上仍有已部署的迁移,您可以创建一个脚本,使已部署的版本保持最新:

Update-Database -Script -SourceMigration: VersionDeployed -TargetMigration: CurrentMigration
您还可以尝试使用迁移历史记录关闭PROD数据库(不要清除它)。EF应根据代码将上次迁移中的模型与当前模型进行比较


您可以使用SQL CE工具箱中的my schema diff脚本