实体框架 – 实体框架迁移 – 生成当前数据库模型的sql脚本

我正在尝试生成将为我创建一个数据库的sql脚本。到目前为止我试过这个:

Update-Database -Script -SourceMigration: $InitialDatabase
Update-Database -Script -SourceMigration:0

但是,这两个都给了我们从第一次迁移到最后的脚步。而且数据库没有初始状态,它应该包括数据库本身的创建,以及当我将迁移添加到我的项目时那里的单表。

那么如何重新创建我的模型,当迁移没有给我完整的sql脚本?

最佳答案
尝试:

Update-Database -Script -SourceMigration: $InitialDatabase -TargetMigration: [MigrationName]

这应该包括从初始数据库到目标迁移的脚本。至少应该有“MigrationHistory”表。

您还可以尝试通过以下方式重新创建迁移:

1)恢复到初始数据库。如果一切顺利,应该从数据库中删除所有表。

Update-Database -TargetMigration: $InitialDatabase

2)删除Migrations文件夹中的所有迁移文件。您不必删除配置类文件。

3)添加新的迁移。但是,这将创建从初始数据库到最新模型的迁移文件。

Add-Migration -Name: [MigrationName]

希望这有帮助。我也建议看看this的博文。记下提示#5,这是“在备份之前不要删除迁移(向下)”。根据我的经验,如果没有遵循迁移,这将导致问题。

转载注明原文:实体框架 – 实体框架迁移 – 生成当前数据库模型的sql脚本 - 代码日志