2016-10-21 1 views
8

SQLiteデータベースとエンティティフレームワークコアを含む.Netコアで構築された小さなWebサイトがあります。私はVSコードとMacで使用しています。GitHubで展開されたdotnetコアサイト用のAzure上での移行を実行します。

ローカルでデータベースを管理するのは簡単です。dotnet ef database updateがうまくいきます。問題は、Azureにデプロイする際の移行を実行していることです。

私のレポはGitHub上にあり、私はマスターブランチにプッシュするときにGitHubからコードを引き出すようにAzureを設定しました。デプロイはうまくいきますが、Azureでは移行が実行されていません。

私はyourDbContext.Database.Migrate()をStartup.csで使用できるとの提案を見たことがありますが、.Migrate()は利用できなくなっているようです。

私はAzureからデプロイメントスクリプトをダウンロードし、deploy.cmdにcall :ExecuteCmd dotnet ef database update -e Productionを追加してカスタマイズしようとしましたが、動作していないようです。

私は手動でマイグレーションを実行するためにクーズーサイトを通じてアクセスできるPSシェルを使用してみましたが、dotnet ef database update結果はを実行しようとすると、ここに非常によく似た質問(EF Core (1.0.0) Migrations On Azure App Services)は、No executable found matching command "dotnet-ef"

ありその質問は何の答えも得られなかった。

答えて

7

context.Database.Migrate()は、コードでデータベースを初期化するときに実行できます。

+2

ありがとう@matthijsb - 私はいくつかの場所でこの答えを見ていて、それは私のために働いていませんでした。私はもう一度試して、それを働かせました。私はStartup.csの先頭に 'using Microsoft.EntityFrameworkCore; 'を追加する必要がありました。それがなければ、私はまだVSコードで文脈とインテリセンスを作成することができ、 '.Database'を見つけることができました。しかし、追加の 'using'が追加されるまで' .Migrate() 'が見つかりませんでした。 – Dingels35

関連する問題