モデルを変更するたびに、Play Framework は、スキーマ全体を削除して再作成するスクリプトを実行するように要求するようです。明らかに、これは本番環境では機能しません。本番環境でこれを処理する適切な方法は何ですか?
注意してください、私は ebean と Postgres を使用しており、heroku でホストしています。
モデルを変更するたびに、Play Framework は、スキーマ全体を削除して再作成するスクリプトを実行するように要求するようです。明らかに、これは本番環境では機能しません。本番環境でこれを処理する適切な方法は何ですか?
注意してください、私は ebean と Postgres を使用しており、heroku でホストしています。
残念ながら、(彼らのグループで回答されているように)Ebean
しか作成できCREATE DDL
ません(作成できません)。したがって、できるだけ早く手動の進化に切り替える必要があります。UPDATE DDL
いくつかのルール:
1.sql
ebean プラグインは、それによって作成された進化のみがある場合、DDL 全体を再作成します1.sql
手動の進化に切り替える前に、できるだけ多くのモデル/フィールドを配置してみてください。大部分はプラグインによって自動的に行われます。2.sql
3.sql
ALTERS
、DROP/CREATE の代わりに既存のテーブル/列が含まれている必要があります。変更ごとにUps
、および両方が必要です。Downs
事実上、DB gui を使用して DB 構造を変更する方が簡単な場合もありますが、主に単一の開発者向けに機能します...コードを他の開発者と共有する必要がある場合は、進化を書く方が良いオプションです。
しばらくして新しいモデルの次の「大きな」部分を追加する場合は、一時的な自動 DDL を再度有効にして、新しい部分をコピーするためだけにローカル git を使用できます。次に、独自の革命に戻り、Ebean プラグインによって生成された新しいパーツを貼り付けます。