0

私はデータベース プロジェクトを持っており、ステータス、タイプなどの事前定義されたデータを追加するためのベスト プラクティスは何かと考えています...

  • ステータス/タイプごとに 1 つの配置後スクリプトがありますか? また
  • :r someStatus.sql各ステータス/タイプ スクリプトを使用する 1 つの配置後スクリプトがありますか?

3 番目のオプションは、すべての挿入を 1 つの巨大なスクリプトに含めることだと思いますが、それはひどいように思えます。以前はオプション 2 を使用していましたが、なぜこのようにしたのかわかりません。提案?

4

2 に答える 2

0

There's tools to package your data. I have happily used RedGate SQL Packager (not free) and DBUnit XML datafiles extracted from development environment and sent to the database with an Ant <dbunit> task.

于 2013-01-18T15:02:05.333 に答える
0

このシナリオでは、#3 と #2 の組み合わせを使用します。新しいビルドがある場合は、空のデータベースにデータを入力し、通常は実行しないように使用するデプロイ後の挿入を設定し、ビルド/公開全体の後にデータを入力します。関連する挿入もバッチ処理する傾向があるため、15 個のステータスを挿入する場合は、それらを 1 つのスクリプトに追加します。その欠点は、スクリプトを再実行して問題を引き起こさないようにする必要があるため、一時テーブルに挿入してから、実際のテーブルに対して左結合を行うことが最善の解決策である可能性があることです。スクリプトの数をより管理しやすいサイズに抑えます。

インクリメンタル リリースの場合、関連するスクリプトが一緒になるように、ストーリーごとに (スクラムを使用して) 一括挿入する傾向があります。また、スクリプトが本番環境で実行され、プロジェクトから安全に削除できる時期を知るのにも役立ちます。

また、参照値のみを保存する何らかの「参照」データベースを用意することも検討してください。次に、Red-Gate の Data Compare などのツールを使用して、適切なデータ セットを取得します。Pro バージョンは自動化/スクリプト化できるため、テスト用の新しいデータを簡単に取り込むことができます。これは、コピーするテーブルを簡単に設定し、データにフィルターを設定できるため、長期的には最適なソリューションになる可能性があります。

于 2013-05-28T15:49:11.437 に答える