質問

現在、メインのデータベースアクセスクラスにデータベースを作成するコード(SQLiteデータベースにクエリを作成します)を作成しています。コードを使用するつもりはないので、これは不要に思えます。何かがうまくいかなかった場合は、データベースを再作成する必要がある場合に必要です。するべきか...

  1. データベース作成コードはファイルサイズの約4分の1であるにもかかわらず、物事をそのまま残します。
  2. データベース作成コードを別のスクリプトに移動します。とにかくもう一度実行する必要がある場合は、手動で実行する可能性があります。メインコードで作業している間は、気が遠くないようになります。
  3. データベース作成コードを削除し、もう一度自分が必要になっている場合は、リビジョン制御に依存します。
役に立ちましたか?

解決

コードを保持することが最善だと思います。さらに重要なことは、データベーススキーマが変更されるたびに、このコードを維持(または生成する)ことです。

次の理由で重要です。

  1. あなたはおそらくあなたがそれを何回必要とするか驚くでしょう。サーバーを移行するか、別の環境(テストやデモなど)をセットアップする必要がある場合など。
  2. また、特にシステムにしばらく触れていない場合は、コーディング時にDDL SQLを頻繁に参照することがわかります。
  3. 作成したインデックス、ユニークなキーなど、下した決定の参照があります。

これに対する規律あるアプローチがない場合、アドホックの変更が行われるとデータベーススキーマが時間の経過とともにドリフトできることがわかりました。規律あるアプローチ(つまり、スキーマの参照定義)がなければ、さらに悪いことに、異なるデータベースには微妙に異なるスキーマがあることがわかります。

他のヒント

何かがうまくいかなかった場合は、データベースを再作成する必要がある場合に必要です。

データベースの再作成は、絶対に例外的なケースではありません。そのコードは、新しい /異なるシステム上の展開プロセスの一部であり、コードが操作することが期待されるDB構造を表します。実際にこれを確認する統合テストが必要です。開発中に手動で発送されたSQLステートメントを介してスキーマが段階的に作成された単一のDBサーバーでは無期限に動作します いいえ あなたが頼るべき何か。

ただし、はい、アクセスコードから分離する必要があります。したがって、オプション2は正しいです。その後、個別のスクリプトは、展開のためにテストで使用できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top