Entity Framework Code First原生产环境从未做过数据迁移,给生产环境第一次做数据迁移?
线上生产环境以前部署的时候从未做过数据迁移,现在已经产生了用户数据。
在后续的本地开发中修改新增和修改了字段、表之类的,现在要做数据库升级(把这些修改推送上去),同时希望线上用户数据仍然保留。
本来想使用EF数据迁移,可是在网上找了一圈文章都是EF在一开始生成数据库的时候就要做好数据迁移的初始化(init),后续在这个基础上继续进行数据迁移。
简单来说问题现象就是:现在线上有数据库,从未做过数据迁移,然后我在做数据迁移的时候,发现生成的脚本全都是Create Table的,包括线上数据库已经存在的表。
现在怎么让它能自动识别出我这次开发中修改的字段和表,自动生成正确的数据迁移代码。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你线上的数据库哪来的?难道不是
add-migration Init
后再update-database
吗?后续的开发应该也是
add-migration dosomething
后再update-database
。如果你是这种流程,那么可以通过
Update-Database -Script -SourceMigration "[某次迁移]"
生成[某次迁移]之后的更新的sql语句。如果是第一次执行添加的操作用
Add-Migration InitialCreate -IgnoreChanges
命令此命令不产生Create Table的代码,然后
update-database