zoukankan      html  css  js  c++  java
  • EF框架之数据迁移

    1.为什么要使用数据迁移,在使用EF的CodFirst时,如果模型发生了变化,就会删除数据库,根据模型重建数据库,这样的情况下,数据库中原先的数据会丢失,如果使用数据迁移,则会在原数据库中修改,数据不会丢失,数据库的升级也需要数据迁移,
    2.还有就是如果需要将数据库部署在Azure,也需要数据迁移,
    首先安装EF,搜索安装即可,
    工具->NuGet包管理器->程序包管理器控制台输入enable-migrations(打开数据迁移)
    然后会自动在项目中生成这个文件夹,打开Configuration.cs文件, AutomaticMigrationsEnabled = true;改为true自动迁移,改为false手动迁移,建议手动迁移(原因:手动迁移可以回滚,防止出现意外丢失数据)
     
    3.手动迁移过程:(命令可以通过方向键获得已经使用过的命令)
    (0)Enable-Migrations(打开数据迁移)
     (1)Add-Migration Script(这个名字可以自定义,是你数据迁移脚本,会在Migration 文件目录下生成)
    (2)Update-Database -script(查看数据迁移脚本对应的SQL语句)
    (3)Update-Database(执行数据迁移脚本,执行完毕后,模型中修改的项目更新到数据库)
    (4)如果想要回到某个状态或者版本,执行Update-Database -TargetMigration 201809010237039_Script(这个是你要回滚的那个脚本)。
    4.自动迁移过程,
    (1)AutomaticMigrationsEnabled =true,
    (2)Update-Databas(自动迁移只需要执行这个)
    最后一条,如果想要将数据迁移到一个新的数据库,在配置文件中将连接字符串中的数据库名字改为想要迁移的目标数据库名字,如果不存在数据库,则会自动重建。
    ————————————————
    原文链接:https://blog.csdn.net/fbw668859/article/details/82286449
  • 相关阅读:
    S2 第二章数据库的实现
    理解ThreadLocal(之二)
    理解ThreadLocal(之一)
    save(),saveOrUpdate(),merge()的区别
    Hibdernate入门
    Hibernate第一个例子
    在运行Hibernate Hello World程序的时候,抛如下错误: view plain Exception in thread "main" org.hibernate.exception.LockAcquisitionException 解决方法
    Oracle函数
    UDP
    多线程下真正的单例
  • 原文地址:https://www.cnblogs.com/jnm121/p/12558578.html
Copyright © 2011-2022 走看看