私たちは、データベースの人たちが、コードベースでアウトオブバンドでアプリケーションのデータベースに変更を加え(そしてジュノーを使ってバージョンを変更する)プロセスを持っています。彼らは、新しい列がnullで、既存のデータを消去しないことを考慮に入れていますが、時には完全には伝達されない列の名前変更があります。そこで、テストサーバー上のデータベーススキーマをいくつか変更し、それらの変更に対応するようにEntity Frameworkを更新し、コードをコミットします。このプロセスは正常に動作します。の場合は、を除いて展開してください。対象のデータベーススキーマがEntity Frameworkの内容に準拠していることを確認しますか?
成功したビルドを適切なサーバーに展開するようにTFSが設定されていますが、その環境のデータベースが更新されているという保証はありません。私たちは余分なフィールド/テーブル/ビュー/等が気にしません。ターゲットデータベースに存在しますが、EFが認識しているすべてのデータベースがデータベースに格納されていることを確認するために、ビルドを変更する必要があります。
私はthis questionを見ましたが、正確に一致させるためにスキーマは必要ありません。さらに、データベースを直接作成または変更することは望ましくありません。 this questionは同様の理想を達成しようとしているようですが、まだ達成しようとしているものではありません。 EFのバージョンがターゲットスキーマと連動することを確認するための統合テストが必要です。
私はデプロイメントプロセスについて完全に同意しますが、データベース担当者は、データベースアップグレードのスクリプトを完全に自動化するために、まだJuneauを通じて生成されたデプロイメントスクリプトを信頼しません。したがって、誰も対象のデータベースを手動で変更しなかったか、アップグレードされたスクリプトを部分的にしか適用しなかったことを確認する必要があります。 –