問題タブ [dbproj]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tfs - 私の dbproj では、ファイルに «Copy always» または «Copy if newer» を設定すると、ビルド サーバーでのビルドに失敗します
VisualStudio 2010 では、ある dbproj (B) が別の dbproj (A) を参照するシナリオがあります。
dbproj (A) で、Scripts フォルダー内のカスタム SQL スクリプトの 1 つでビルド アクションを「常にコピー」または「新しい場合はコピー」に設定すると、dbproj のビルド中にビルドが失敗します (ビルド サーバーのみ) (B)。(A) のファイルを (B) にあるかのようにコピーしようとします。
dbproj のビルド中 (A)、出力は次のようになりますが、これで問題ありません。
そして、dbproj (B) の構築中に、サーバーは次のエラーを出力しました。
このファイルD:\Builds\5\17\Sources\Src\DataBase\OpenQueryTool\Scripts\FortressMainUpdate.sql
は dbproj (A) にあるファイルで、 には存在しませんでした\DataBase\OpenQueryTool\Scripts\
。
これは、ビルド サーバーでのみ発生します。ローカルでビルドする場合は、すべて問題ありません。
私たちの目標は、ソリューション全体が構築されたら、dbproj によって生成された sql ファイルと共に、これらのファイルを tfs ドロップ場所に配置することです。
sql-server - VS1010データベースプロジェクトと参照データスクリプト
次のことを処理するための最良の方法を考えているだけです。
開発、統合テスト、および本番環境でデータベースのスキーマを同期させるために、VS2010データベースプロジェクトが必要です。
テスト環境と本番環境の一部として、データベースにロードする必要のある多くの参照データがあります。
開発とテストでは、データベースを再作成し、展開後のスクリプトを使用してデータをロードできます。ただし、実稼働環境では明らかにライブデータが含まれているため、これを実際に行うことはできません。
では、これを行うための最良の解決策は何ですか?デプロイメント後のスクリプトを使用してデータベースをロードできるとは思いません。挿入ステートメントの場合、それぞれをIF NOT EXISTS ...句でラップする必要があり、数千の行があるためです。
おそらく、VS2010 + MSBuildツールを使用してスキーマを最新の状態に保ち、データを管理するための個別のソリューションを用意するのが最善でしょうか。
または、VS2010 + MSBuildのツールのみを使用するこれに対する解決策はありますか?
visual-studio-2010 - 2008 DB プロジェクトのトリガー スクリプトのエラー SQL03120
VS2010 にデータベース プロジェクトを追加しようとしています。開発サーバーを指す SQL 2008 DB プロジェクトを作成しましたが、適切なスキーマ オブジェクトがすべて生成されたようです。ただし、すべての CREATE TRIGGER スクリプトには次のエラーがあります。
そのエラーメッセージをグーグルで調べてもあまり返されず、ここでは当てはまらない CREATE の代わりに ALTER を使用するスクリプトを指しているようです。これは、スクリプトの 1 つの例です。
Visual Studio がエラーの原因としている行は、システム プロシージャを実行している最後の行です。私が際立っているのは、dbo スキーマにオブジェクトが存在しないことです。テーブルはコンテンツ スキーマにあり、履歴スキーマに一致するテーブルがあります。ただし、[Content] および [History] 修飾子は解決可能のようです。これが思いつかない…
visual-studio-2010 - F5 キーを押すと、デフォルトで DB プロジェクトの起動が停止します。
使用: MVC3、Vs2010、および DbProject
ソリューションには、MVC3 プロジェクトと DB プロジェクトがあります。f5 キーを押して MVC プロジェクトを起動すると、DBproject が先に起動します。私はこの振る舞いを望んでいません。両方のプロジェクトではなく、MVC プロジェクトを起動したいだけです。
MVC プロジェクトは、スタートアップ プロジェクトとしてセットアップされます。
何か案は?
msdeploy - msdeploy Visual Studio 2010 データベース プロジェクト (dbproj)
Visual Studio からデータベース プロジェクトをパッケージ化/展開できることは理解していますが、データベース プロジェクトは、msdeploy を使用して展開できる出力を生成しますか、それともまったく関係ありませんか? 例 msdeploy.exe -展開 mydatabaseproject
あるいは、dbproj は、Web デプロイ パッケージに含まれ、その後 Web デプロイの一部として実行される [Package/Publish SQL] タブに含めることができるスクリプトを出力するだけでしょうか?
msbuild - エラー "SQLBuildTask" タスクをアセンブリ 'Microsoft.Data.Schema.Tasks.Sql' から読み込めませんでした
64 ビット OS 用の Windows Server 2008 R2 Enterprise を搭載した VM で実行されている msbuild.exe を使用して、db プロジェクトを構築しようとしています。私のアプリケーションのほとんどは正常に構築されていますが、この 1 つの DB プロジェクトが問題を引き起こしています。.NET Framework 2 および 4 がインストールされています。
error MSB4062: The "SqlBuildTask" task could not be loaded from the assembly Microsoft.Data.Schema.Tasks.Sql, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a. Could not load file or assembly 'Microsoft.Data.Schema.Tasks.Sql, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.
このサイトで考えられる解決策を既にチェックアウトしました: MSBuild と CruiseControl .NET を取得して VS2010 データベース プロジェクトをビルドおよびデプロイする
ただし、ビルド マシンに VS2010 がインストールされていますが、それでもこのエラーが発生します。
私がすでに行ったこと:
- DB プロジェクトを使用したソリューションが VS2010 で正常にビルドされることを確認しました
- msbuild MyDBtest.dbproj を使用して msbuild コマンドを実行すると、同じエラーが発生します。
これを機能させるために他に何が欠けている可能性がありますか?
visual-studio-2010 - データベース テスト構成 AllowConfigurationOverride データベース名
独自の特定のインスタンスまたはデータベース名に対して単体テストを実行するために、さまざまなビルド エージェントを取得するにはどうすればよいですか? .dbunittest.config ファイルで使用できるプロパティのオーバーライドまたは変数はありますか?
データベース プロジェクトをビルドし、それをビルド サーバーにデプロイし、テストの app.config を使用して別の db ユニット テスト プロジェクトからデータベース ユニット テストを実行する継続的インテグレーション ソリューションを管理するデフォルトの 4 つのビルド エージェントを備えた TFS 2010 ビルド サーバーがあります。オーバーライド句を使用してプロジェクトを作成します。
LoginName.dbunittest.config は、テスト データベースに使用される接続文字列を制御します。ビルド エージェントはすべてこの同じ接続文字列を使用しているようです。つまり、並列ビルドは同じデータベースに対してテストされます。
sql - サーバー名に対する VS DB 展開スクリプトの依存関係を削除する
dbproj を SQL スクリプトに展開し、別のコンピューターで実行しようとすると、エラーが発生します。
ビルド スクリプトのサーバー名 SOMENAME がターゲット サーバーの名前 ANOTHERNAME と一致しません。データベース プロジェクトの設定が正しいかどうか、およびビルド スクリプトが最新かどうかを確認します。
スクリプトには次のような行が生成されます。
どのサーバーでも SQL 展開スクリプトを実行できるようにする方法はありますか?
asp.net-mvc-3 - AppHarbor のワンステップ ビルドとデータベースのデプロイ方法
私は最終的に、私のソリューションがビルドステップで必要なすべてを行うところまで来ました:
- パッケージをダウンロード
NuGet
します。 - データベースをデプロイします (まだ存在しない場合のみ)。
- ソリューションをビルドします。
- アップグレード スクリプトを実行します (1 回だけ、データベースはこれらを追跡します)。
- 単体テストを実行します。
- 成功した。
これは、あらゆる種類の驚異をローカルで機能させます。
CI は私にとって次の論理的なステップだったので、 GitHubリポジトリをAppHarborと統合することにしました。
問題は、データベースが 2 つのステップで構築されていることです。
- A
dbproj
が構築され、.dbschema
- 私のデータベース アップグレーダ (すべてのDbUpの素晴らしさを誇示しています) は、
BeforeBuild
をビルドしてデプロイするターゲットとdbproj
、データベース アップグレーダAfterBuild
を自己実行するターゲットを使用してビルドし、まだ実行されていない SQL スクリプトでスキーマを更新します。
問題は、サーバー構成に必要なものがないため、プロジェクトでAppHarborビルド サーバーが失敗することです。.dbproj
SqlTasks.target
そのターゲットを(依存している他のいくつかのターゲットとともに)手動で追加する簡単な修正を試みましたが、それを乗り越えることができないエラーが発生しました:
「SqlBuildTask」タスクをアセンブリ Microsoft.Data.Schema.Tasks.Sql から読み込めませんでした [...]
少し掘り下げてみると、どちらもインストールされていない環境ではプロジェクトをビルドできないようです。.dbproj
VS
TFS
どのように進めればよいですか?いくつかのオプションがあるかもしれません:
AppHarbor データベースに手動で接続し、開発環境で生成されたデプロイ スクリプトを新しい運用データベースに対して実行します。
これは、ワンステップ構築の目的を無効にします。.dbproj
データベース プロジェクトを使用する代わりに、すべての基本インストール テーブルをDbUpの「アップグレード」に含めます。 これには 2 つの問題がありますが、おそらく解決できます。1 つ目は、自分でデータベースを作成する必要があるということです。2 つ目はlog4net
、データベースのアップグレード プロセスをログに記録するために使用しているテーブルがプロセス自体によって作成されるということです。これは、私の本ではあらゆる種類の間違いです。この問題なしでデータベースを展開できるカスタム データベース プロジェクト ソリューションを使用します。
私はこのような解決策を本当に知りません。存在しますか、信頼できますか?
意見、展開に関する記事、または提案を歓迎します。AppHarbor で .dbproj をビルドする簡単なハックでも十分です。
最後に、AppHarborにビルド サーバーを含めるように依頼しTFS
たりVS
、ビルド サーバーに.dbproj
プロジェクトをビルドするように依頼したりするのは、あまりにも理にかなっていますか?
msbuild - DBProj のカスタム MSBuild タスク
データベース プロジェクト用のカスタム MSBuild タスクを作成しました。このタスクでは、XLSX ファイルを使用して、配置後のスクリプトにマージされる参照データ挿入スクリプトを生成します。
これをテスト用の MSBuild プロジェクトでテストしたところ、うまく機能しました。
これを実際の DBProj ファイルに統合すると、タスクの出力が重複し、MSBuild の出力ログが表示されません。
だから、私の質問は次のとおりです。
1) Visual Studio で完全な MSBuild ログを表示するにはどうすればよいですか? 2) AfterBuild または BeforeBuild が 2 回実行されているかどうかはわかりませんが、多分?
ありがとう