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

posted @   小布雷  阅读(176)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示