27

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

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

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

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

4

1 回答 1

51

尝试:

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

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

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

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

Update-Database -TargetMigration: $InitialDatabase

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

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

Add-Migration -Name: [MigrationName]

希望这会有所帮助。我还建议查看这篇博文。请注意提示 #5,即“在退出迁移(向下)之前永远不要删除迁移”。根据我的经验,如果不遵循,这会导致迁移问题。

于 2013-10-03T13:18:48.847 回答