Asp.net-Core
發布 ASP.NET Core 應用程序時自動執行遷移
問題
使用 Web Deploy 將 ASP 5 應用程序發佈到 IIS 時,有什麼方法可以自動執行遷移程式碼 (EF 7)?
我試過
- 在中
project.json,我在中添加了這段程式碼scripts:
"scripts" : { "prepublish": ["dnx ef database update", "other commands..."], "postpublish": ["dnx ef database update"] }沒有一個對我有用。
附加資訊
我按照此連結上的說明使用 web deploy 將我的 ASP 5 RC-1 Web 應用程序部署到 IIS。
在發佈設置中這樣做後,我有:
在 ASP 4 應用程序中使用 Web 部署我有其他數據庫選項:
使用 context.Database.Migrate()
Startup你可以從你的班級呼叫這個:using (var context = new MyContext(...)) { context.Database.Migrate(); }它會在應用程序啟動時將您的數據庫遷移到最新版本。但要小心,也許註釋掉這段程式碼,只有在你想執行遷移時才取消註釋。
顯然這個過程現在不起作用。 https://github.com/aspnet/Home/issues/622 發布後,您應該會找到名稱為“配置文件名稱”-publish.ps1 的 power shell 腳本。然後在靠近此文件末尾的這三行下方添加您的命令。您可能希望使用 powershell 使其更易於調試。
‘呼叫 Publish-AspNet’ | 寫詳細
呼叫 Publish-AspNet 執行發布操作
發布-AspNet -publishProperties $ publishProperties -packOutput $ 打包輸出

