万水千山ABP - 系统发布后迁移 CodeFirst 数据库[原创]

Posted forestk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了万水千山ABP - 系统发布后迁移 CodeFirst 数据库[原创]相关的知识,希望对你有一定的参考价值。

在项目开发的过程中,常会遇到项目发布后还变更数据库的情况。这时如何方便地进行数据库迁移呢 ?

下面直接列出操作的步骤: 

 

1. 发布修改后的应用

将最新版本的应用更新到目标机器中。更新的文件当然不包括数据库。

这时运行应用,将显示错误信息:

支持“AbpZeroTemplateDbContext”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库

表示我们的数据库需要更新。

 

2. 拷贝迁移工具

将我们的项目文件夹下的 migrate.exe 拷贝到目标机器中。

源文件: <项目文件夹>\packages\EntityFramework.<版本>\tools\migrate.exe,如 C:\project-Epmp\packages\EntityFramework.6.1.3\tools\migrate.exe
目标目录: <发布文件夹>\bin,如 D:\project-Epmp\publish\bin
目标机器 bin 目录下,应该有文件 EntityFramework.dll 等

3.执行迁移命令

在命令提示符下,执行下面的命令(数据库连接以SqlServer为例)

migrate.exe xxx.yyy.EntityFramework.dll /connectionString="Server=localhost;Database=数据库名;User=用户名;Password=用户密码;" /connectionProviderName="System.Data.SqlClient"

 


执行顺利的话,会显示“正在应用显示迁移 ...” 等信息。

好,到这里就迁移结束了。

在打开更新后的应用,应该可以正常运行了。

 

以上是关于万水千山ABP - 系统发布后迁移 CodeFirst 数据库[原创]的主要内容,如果未能解决你的问题,请参考以下文章

Code First 迁移

Abp启动时自动迁移数据库

ABP数据迁移的时候报错!

ABP框架EF6链接Oracle数据库手动迁移

ABP .Net Core Entity Framework迁移使用MySql数据库

ABP 框架 数据库底层迁移 Mysql 集群