私は新しい Web アプリの展開システムを開発中ですが、データベースの移行を管理するプロセスの最適なポイントはどこにあるのか疑問に思っています (移行をどのように行うかという問題は、まったく別の問題です)。
次の 2 つの方法があるようです。
- コマンド ラインから手動で実行するか、自動展開/ビルド プロセスの一部として実行できる移行スクリプトを使用します。
- アプリの起動時に移行を実行します (私は ASP.NET を使用しているため、長時間のユーザー要求を引き起こすことなく簡単に実行できます)。
これらのアプローチに関する提案/洞察/経験はありますか? 他の提案はありますか?
#1 がより魅力的である理由がわかります。これにより、DB がいつ更新されるかを完全に制御できます。しかし、私は #2 がとても気に入っています。なぜなら、デプロイ間をすばやく繰り返すことができ、手動プロセスを削減できるからです。#2 を開発マシンで使用して、イテレーションをさらに高速化することもできます。うーん、両方あって良かったかな…と思い始めました。