Java と oracle 11g を使用している顧客向けの Web ベースのソリューションを開発しています。プロジェクトは顧客のためにインストールされますが、その機能のほとんどは開発中です。毎月、お客様のサイトにインストールする必要がある新しいバージョンをリリースします。問題は、各リリースで、DB (テーブル、ビュー、SP、トリガーなど) に多くの変更があることです。開発ラインからダンプを取得して顧客サイトに持ち込むことができません。
問題は、顧客 DB のスキーマを新しいバージョン (開発バージョン) に移行できる SQL スクリプトをどのように生成できるかということです。このスクリプトを生成するための自動ツールはありますか? それを行うことができるJavaのオープンソースコードはありますか? この問題のベスト プラクティスはありますか?
編集
回答によると、開発者が DB スキームを直接変更することを禁止し、DB 更新ごとに変更スクリプトを作成してコミットすることがベスト プラクティスのようです。しかし、この方法を使用すると、しばらくすると、多くの変更スクリプトが存在し、それぞれが特定の更新を DB に保持します。これらの大量のスクリプトを管理するにはどうすればよいですか?