コードマイニングによるASP.NET MVC EFアプリケーションを構築し、Azure SQL DBでAzureでホスティングしています。私が初めてこれを公表したとき、それはうまくいった。しかしその後、モデルが変更され、Azure DBのスキーマが一致するように更新されていません。私がデプロイすると、 "Execute Code First Migrations"がチェックされています。それがうまくいかない場合、私は自分のDBを削除し、Azureのポータルでそれを再作成し、更新されたトリガーになると考えました。しかし、それはうまくいかなかったので、私はAutomaticMigrationsEnabledをTrueに設定しました。それはまだ動作していないので、現在Azureの私のDBには私のテーブルがありません。 AzureのDBを私のモデルに合わせて更新して、公開されたサイトがうまく動作するようにする方法はありますか? VSローカルDBを作成クエリにスクリプト化してSQL管理スタジオで実行する方法があるかどうかを探してみましたが、その方法を見つけることができませんでした。Visual StudioからWebアプリケーションを公開するときにスキーマが更新されない
答えて
パブリッシュ設定でupdate database
を選択し、接続文字列がcorrectcであり、まだ更新されていないことを確認した場合は、
このような問題が発生することがありますが、私のパブリッシュファイルは正しいですし、パブリッシュ時にSQLの更新が行われるように設定されています。しかし時にはデータベースが更新されておらず、 "バッキングコンテキストが変更されました"というエラーが表示されることがあります。時には、更新されていない移行テーブルが原因です。残念ながら、データベースを同期させる唯一の方法は、両方の移行履歴を比較して確認することです。[dbo].[__MigrationHistory]
公開されたサーバーに最新の移行履歴がない場合は、パッケージマネージャコンソールに入力:
Update-Database -Script -TargetMigration [migration name]
「移行名は、」Visual Studioは、データベースをもたらすために使用できるSQLスクリプトを生成します、あなたの公開されたサーバーが持っていた最後移行の名前でなければなりませんそのターゲット移行からの最新の移行まで。
時には(まれにしか私のために1〜2回しか起こらなかった)上記のことは何らかの理由で(通常はマイグレーションファイルが削除されたため)動作しない場合がありますデータベース全体、そしてチェリーは必要なSQLを選択します。
Update-Database -Script -SourceMigration:0
これは、すべての移行のためのスクリプトを生成します、あなたは、桜はあなたが行った変更に基づいて選ぶことができます。 「最新の」変更はファイルの最後に近づきます。すべての遊走変更があれば、チェックを開始します:あなたはSQL移行履歴の更新を含めるようにしてください選択しなければ
IF @CurrentMigration < '201710160826338_mymigration' BEGIN
あなたは、あなたが必要とするビットを選択するためにこれを使用することができます。これは、もしブロックの最後になると、このようなものになります。移行履歴を含む
INSERT [dbo].[__MigrationHistory]([MigrationId], [ContextKey], [Model], [ProductVersion]) VALUES (N'201710101645265_test', N'API.Core.Configuration', 'Some long checksum')
をVisual Studioが再び問題がないことを保証します。
これが役に立ちます。
- 1. Visual Studio 2010でコンテンツファイルが更新されないFTP公開
- 2. Visual Studio 2012の[Web公開]ダイアログボックスでデータベース機能が更新されない
- 3. Visual Studioアプリケーションが公開前に公開されていて公開前に公開されていない
- 4. AzureのWebサイトがVisual Studioから公開された後に更新されない
- 5. Visual Studio 2010プロジェクトで公開されていないパブリッシュWebサイト
- 6. MSB4018エラーVisual Studio 2015 ASP.NetとエラーWebアプリケーションをAzureに公開
- 7. Visual Studio Web Deployment - "公開中にプリコンパイル"にプロファイルを公開する
- 8. ASP.NETコアWebアプリケーションを公開するときにDLLが見つからない
- 9. Visual StudioでWebアプリケーションとWebサイトテンプレートが見つからない2015
- 10. 公開時にWebアプリケーションがデータベースを見つけられない
- 11. Visual StudioからIISに公開されていないローカルマシン上の静的ファイル
- 12. 新しい画像が公開されたときにドッカーコンテナを更新する
- 13. 公開前のVisual Studio Web Deployバックアップ
- 14. Visual Studio 2015(最新更新)公開機能でASP.NETコアRC1ソースがコンパイルされない
- 15. 公開時にVisual Studioがクラッシュする
- 16. 公開プロファイルを変更した後でVisual Studioで新しいアセンブリバージョンがビルドされると、複数のIISサーバーが公開される
- 17. Visual Studio 2015からAzureのアプリケーションを公開しません.CSS
- 18. のVisual Studioの「公開」機能は、FTPは、Visual Studioで私のASP.NET MVCアプリケーションを公開するときに、私は奇妙な問題を気づいた
- 19. Visual Studio 2010 SilverlightプロジェクトでWebサイトを展開/公開する
- 20. Skype chatbotが最新の公開に更新されない
- 21. Visual Studioからの公開2015
- 22. Visual Studioから保護されたクラスタエラーへの公開
- 23. ソリューションを開いたときにSVNからVisual Studioを更新することはできますか?
- 24. 公開プロパティとクラス公開されていないWebサービス
- 25. Visual Studioから公開されたAzure Webアプリケーションへのlocaldbの接続方法は?
- 26. Webサイトを開くときにVisual Studio 2010がハングアップする
- 27. Visual Studio 2015で変更内容が更新されない
- 28. Visual Studioで公開するときにbinフォルダにXMLファイルが見つからない
- 29. Visual Studio 2010 - Webサイトの一部を公開しますか?
- 30. Visual Studio 2012で公開せずにWeb Config Transformを使用できますか?
配備後にアプリを実行しようとしましたか?移行が始まるのはそのときです(導入プロセス中ではありません)。 [ここ](https://docs.microsoft。/ aspnet-mvc/aspnet/mvc/overview/getting-started/getting-started-with-ef-using-mvc/mvc-application)を参照してください。必要であれば 'update-database -Script'を使ってスクリプトを生成することができます。 –
デプロイメントが完了したら、VSはウェブサイトを自動的に起動します...そうです。最初(DBを削除する前に)はうまく始まりますが、新しいフィールドを使用するページに移動するとエラーが発生します。そして私は "update-database -Script"を試みましたが、_MigrationHistory(これは私が試したすべてのものの後にDBに追加された唯一のものです)のInsertクエリを私に与えました。 – Andarta