我想首先使用EF代码迁移来在数据库中创建我的模型。但是,我将使用的数据库已存在并由其他应用程序共享。我的问题是:
迁移是否会删除数据库?那将是一场灾难! 迁移是否会删除任何内容?
答案 0 :(得分:1)
问:迁移会删除数据库吗?
A:不可以。你可以在不删除它的情况下做到这一点。
您必须按照下面的 Package Manger控制台进行操作。
第1步:
PM > Add-Migration InitialCreate –IgnoreChanges
上面的命令将创建一个空的迁移,将当前模型作为快照。
第2步:
PM > Update-Database
以上命令将InitialCreate
迁移应用于数据库。因此,实际迁移不包含任何更改,它会向__MigrationsHistory
表添加一行,表明已经应用了此迁移。
您可以在此处详细了解:CF Migrations with an existing database
答案 1 :(得分:0)
在这种情况下我通常做的是创建到现有数据库的迁移,然后从Up和Down方法中删除所有内容并运行更新。这样,您的代码首次迁移将与数据库中当前的最新版本保持同步,因此所做的任何新架构更改将是添加第二次迁移所获得的唯一内容。