EF6的数据库迁移适用生产环境和开发环境分离,绝对是最简单的
哈喽大家好,好久没写点什么东西了。
最近自己写了个小网站玩儿,底层链接数据库用的是最简单的EF6,为了开发一时爽就用的是framework。
但是在开发中遇到了一个问题
当我把第一版的内容部署到服务器IIS以后,然后在后面开发过程中又增加了新的字段,或者新的表时候,我服务器上面的数据库怎么办,
服务器和本地表结构不同步,我总不能给服务器装一个vs吧,这样,我心态崩了啊。
然后就开始一顿乱搞,本来好好的,作死一更新,发现网站崩了,提示Code first啥版本也不一样,出黄页了。
然后就开始找解决方案。扒拉了半天也没找到,一个写的比一个复杂,牛头不对马嘴。有一些干脆是搬迁别人的博客,。一点技术含量都没有。
最终,还是在我官方大微软里面找到了解决方案,。罗里吧嗦半天,我还是直接上代码吧
首先,如果你没有Enable-Migrations 过的话,先干这个(如果你还真能成功的话,八成我这个文章不适合你)。
如果你有这个错误提示的话,没什么问题。继续往下走
Update-Database -Script -SourceMigration:$InitialDatabase -TargetMigration:(yourMigrationName)
上面那句话,全部复制下去到Package Manage Console里:后面括号里是你的Migration版本,复制过去,不要加括号。我这里加括号是方便理解
然后就会发现控制台出来一大堆东西
在等等就出sql 了
把这里面的所有东西都复制拿到线上的数据库里,执行一下就OK。
问题解决。
顺路提一嘴,EF Core的迁移命令简单的多,
Script-Migration -From yourMigrationName
如果不写 -From 默认所有,也可以写 -From yourMigrationName to yourMigrationName
to这里我不记得是不是加-了。
写这里也方便自己以后找。
最后,ef6有问题可以可以评论留言。如果你没有自己乱搞Migration文件的话
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析