1. 程式人生 > >萬水千山ABP - 系統發布後遷移 CodeFirst 數據庫[原創]

萬水千山ABP - 系統發布後遷移 CodeFirst 數據庫[原創]

xxx provide 錯誤信息 直接 tab base div entity lis

在項目開發的過程中,常會遇到項目發布後還變更數據庫的情況。這時如何方便地進行數據庫遷移呢 ?

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

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 數據庫[原創]