Entity Framework Code First原生产环境从未做过数据迁移,给生产环境第一次做数据迁移?

发布于 2022-09-03 14:25:45 字数 327 浏览 17 评论 0

线上生产环境以前部署的时候从未做过数据迁移,现在已经产生了用户数据。
在后续的本地开发中修改新增和修改了字段、表之类的,现在要做数据库升级(把这些修改推送上去),同时希望线上用户数据仍然保留。

本来想使用EF数据迁移,可是在网上找了一圈文章都是EF在一开始生成数据库的时候就要做好数据迁移的初始化(init),后续在这个基础上继续进行数据迁移。

简单来说问题现象就是:现在线上有数据库,从未做过数据迁移,然后我在做数据迁移的时候,发现生成的脚本全都是Create Table的,包括线上数据库已经存在的表。

现在怎么让它能自动识别出我这次开发中修改的字段和表,自动生成正确的数据迁移代码。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

百变从容 2022-09-10 14:25:45

你线上的数据库哪来的?难道不是add-migration Init后再update-database吗?
后续的开发应该也是add-migration dosomething后再update-database
如果你是这种流程,那么可以通过Update-Database -Script -SourceMigration "[某次迁移]"生成[某次迁移]之后的更新的sql语句。

信愁 2022-09-10 14:25:45

如果是第一次执行添加的操作用 Add-Migration InitialCreate -IgnoreChanges 命令
此命令不产生Create Table的代码,然后update-database

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文