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文件的话

 

posted @   王月半子  阅读(256)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示