24

この質問はばかげているように見えるかもしれませんが、Play2.0で進化をロールバックする方法についての指示が見つかりません。Googleは、evolutionファイルの「Downs」セクションがそのために使用されていると言うページのみを検索します。それだけです。任意のポインタまたは指示をいただければ幸いです。

4

2 に答える 2

24

ダウン部分は主に、スクリプトが変更されたときにエボリューションを元に戻すために使用されます。つまり、2.sqlがデータベースに適用されたプロジェクトがあり、マージにより、2.sqlがソースで変更されます。Playは、古いバージョンでDownsを実行し、次に新しい2.sqlでUpsを実行して、データベースがコードベースと同期していることを確認します。

私の知る限り、Downsを単独でトリガーする方法はありません。これは、Evolutionの目的がデータベースを準備してコードを処理することであり、Downsステップを1つだけ適用すると、アプリケーションが一貫性のない状態になり、多くの潜在的なエラーが発生するためです。発生します。

本当に何かを元に戻す必要がある場合、それはUpsが必要な変更を行う新しいEvolution(3.sql)になります。

于 2012-04-16T11:43:44.520 に答える
6

Evolutions.cleanupEvolutions(database)Play 2.4.xの場合、Playのドキュメントによると、テスト後に呼び出す必要があります。ここを参照してくださいhttps://www.playframework.com/documentation/2.4.x/ScalaTestingWithDatabases

于 2015-06-11T09:40:04.480 に答える