万水千山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"

 


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

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

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

 

posted @ 2018-01-03 11:42  forestk  阅读(376)  评论(1编辑  收藏  举报