zoukankan      html  css  js  c++  java
  • 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文件的话

  • 相关阅读:
    常用的正则表达式
    Spring
    Hibernate-04
    Hibernate-03
    Hibernate-02
    Hibernate-01
    装饰器(python)
    软件工程之小组选题报告
    小组项目之需求分析与原型设计
    关于group_concat函数拼接字符超长的问题
  • 原文地址:https://www.cnblogs.com/SevenWang/p/14766249.html
Copyright © 2011-2022 走看看