zoukankan      html  css  js  c++  java
  • Entity Framework 如何在很多migrations的情况下重新利用package console 去创建新的数据库

    一  Entity Framework 如何在很多migrations的情况下重新利用package console 去创建新的数据库

    1、 暂时性移除数据库项目项目的migrations文件夹

    2、打开菜单 Tools =>Nutget Package Manager =>package manager console

    3、在package manager console 里面选择数据库的项目,并且把数据库的项目设置为启动项目

    4、输入 Enable -migrations    update-database

    二 对于数据库的修改可以指定某个migration文件 

    public partial class PaperTest : DbMigration
    {
        public override void Up()
        {
            AddColumn("dbo.Papers", "Test", c => c.String());
        }
        
        public override void Down()
        {
            DropColumn("dbo.Papers", "Test");
        }
    }

    Class的名称是上面Add后面定义的。而类下面有两个方法,一个是Up,一个是Down。在Up里面,记录了需要升级的修改,这里也就是Papers表格增加了列Test。只要我们在后面执行Update-Database,就会执行此类下面的Up函数。

    这里的Down函数简单介绍就是,为了回滚修改而设计的。如果用户希望恢复到某一个迁移节点,程序会自动根据已经执行的迁移,判断回滚哪些迁移,执行他们的Down函数

    三 迁移至指定版本(包括后退)

      迄今为止,我们总是升级至最新迁移,然而某些时候我们需要升级/降级至指定版本,例如我们想迁移数据库至运行 AddBlogUrl 迁移之后的状态,此时我们就可以使用 –TargetMigration 来降级到这个版本

      在 Package Manager Console 中运行命令 Update-Database –TargetMigration: AddBlogUrl 

    You can rollback to any migration by using:

    Update-Database -TargetMigration:"MigrationName"

    If you want to rollback all migrations you can use:

    Update-Database -TargetMigration:0

    or equivalent:

    Update-Database -TargetMigration:$InitialDatabase
    
    
  • 相关阅读:
    three.js 居中-模型
    three.js 打包为一个组-几个单独的模型
    ABP 菜单和权限
    set
    P2429 制杖题
    对线性筛的新理解
    P2817 宋荣子的城堡
    P2651 添加括号III
    P2858 [USACO06FEB]奶牛零食Treats for the Cows
    P1005 矩阵取数游戏
  • 原文地址:https://www.cnblogs.com/bleychen/p/7073211.html
Copyright © 2011-2022 走看看