gpt4 book ai didi

entity-framework-4 - 获取初始 Entity Framework 迁移脚本

转载 作者:行者123 更新时间:2023-12-04 02:00:14 26 4
gpt4 key购买 nike

我刚刚安装了 Entity Framework 迁移,向类添加了一个属性,并尝试了 EF 迁移。

我的开发数据库及时更新。到现在为止还挺好。

现在,我想为生产数据库的迁移的初始使用创建一个更改脚本。请注意,有一个预先存在的数据库,因为我将其应用于现有项目。

我的迁移是:

PM> Get-Migrations
Retrieving migrations that have been applied to the target database.
201204102238194_AutomaticMigration
201203310233324_InitialCreate
PM>

我以为我可以使用以下内容获得增量脚本:
Update-Database -SourceMigration:201203310233324_InitialCreate -TargetMigration:201204102238194_AutomaticMigration  -script

但是,这给了我错误:

'201204102238194_AutomaticMigration' is not a valid migration. Explicit migrations must be used for both source and target when scripting the upgrade between them.



只是为了看看会发生什么,我颠倒了两个参数(向后迁移),并在添加 -force 标志(删除了新列)后确实获得了我期望的脚本。

如何获得第一次迁移的脚本?

最佳答案

开始对现有数据库使用 EF 迁移的正确方法是首先添加一个包含当前数据库元数据的空迁移。

我认为您必须回滚到与初始数据库架构兼容的模型。然后运行以下命令:

add-migration InitialSchema -IgnoreChanges

这应该给你一个初始迁移,什么都不做,但包含当前模型的元数据。您当然可以稍后使用 -IgnoreChanges 添加迁移。如果您扩展了代码模型以涵盖数据库中已经存在的更多表。

一旦您有了初始迁移步骤,脚本就可以工作了。

一般来说,我不建议使用自动迁移,除非您只打算只使用自动迁移。如果您想对数据库的更改(包括编写脚本)进行某种控制,那么基于代码的迁移就是一种方法。

关于entity-framework-4 - 获取初始 Entity Framework 迁移脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10097696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com