質問
現在、メインのデータベースアクセスクラスにデータベースを作成するコード(SQLiteデータベースにクエリを作成します)を作成しています。コードを使用するつもりはないので、これは不要に思えます。何かがうまくいかなかった場合は、データベースを再作成する必要がある場合に必要です。するべきか...
- データベース作成コードはファイルサイズの約4分の1であるにもかかわらず、物事をそのまま残します。
- データベース作成コードを別のスクリプトに移動します。とにかくもう一度実行する必要がある場合は、手動で実行する可能性があります。メインコードで作業している間は、気が遠くないようになります。
- データベース作成コードを削除し、もう一度自分が必要になっている場合は、リビジョン制御に依存します。
解決
コードを保持することが最善だと思います。さらに重要なことは、データベーススキーマが変更されるたびに、このコードを維持(または生成する)ことです。
次の理由で重要です。
- あなたはおそらくあなたがそれを何回必要とするか驚くでしょう。サーバーを移行するか、別の環境(テストやデモなど)をセットアップする必要がある場合など。
- また、特にシステムにしばらく触れていない場合は、コーディング時にDDL SQLを頻繁に参照することがわかります。
- 作成したインデックス、ユニークなキーなど、下した決定の参照があります。
これに対する規律あるアプローチがない場合、アドホックの変更が行われるとデータベーススキーマが時間の経過とともにドリフトできることがわかりました。規律あるアプローチ(つまり、スキーマの参照定義)がなければ、さらに悪いことに、異なるデータベースには微妙に異なるスキーマがあることがわかります。
他のヒント
何かがうまくいかなかった場合は、データベースを再作成する必要がある場合に必要です。
データベースの再作成は、絶対に例外的なケースではありません。そのコードは、新しい /異なるシステム上の展開プロセスの一部であり、コードが操作することが期待されるDB構造を表します。実際にこれを確認する統合テストが必要です。開発中に手動で発送されたSQLステートメントを介してスキーマが段階的に作成された単一のDBサーバーでは無期限に動作します いいえ あなたが頼るべき何か。
ただし、はい、アクセスコードから分離する必要があります。したがって、オプション2は正しいです。その後、個別のスクリプトは、展開のためにテストで使用できます。
所属していません StackOverflow