2011-12-20 10 views
18

この最新の投稿How to use Evolutions in Play Framework 2.0?は、Play 2.0の実行時に自動的にEvolutionsが適用されると述べています。私はplay-2.0-betaのダウンロードと最新のgitコードを試しましたが、私はこの動作を見ていません。実際、私は生産モードで進化を適用する方法を見つけることができません。何か不足していますか?Play Framework 2.0でevolutionsを実行中

+0

「進化は自動的に活性化されます」という文について誤解があると思います。この文は、「あなたはevolutionplugin = disabledを設定することによってそれらを無効にすることができます」という文脈の中にあります。有効化は「自動的に適用される」という意味ではありません。私は確かにこの誤解に苦しんだ。 – GreenAsJade

答えて

34

applyEvolutions.default=trueをapplication.confに追加すると、デフォルトでアプリケーションでEvolutionsが有効になります。

+0

これは必要でないようである...バージョン2.0.3のためのドキュメンテーションは(http://www.playframework.org/documentation/2.0.3/Evolutions) "Evolutionsは自動的に有効化されます"、 "PlayはDEVモードでの各リクエストの前にデータベーススキーマの状態をチェックします"上記以外は 'PROD'モード(?)でのみ有効です。しかし、ドキュメンテーションはこの設定パラメータをまったく言及していないようです。 –

+0

これはPlay 2.0.2には必要でしたが、2.0.3に関してはわかりません –

+1

私はPlay 2.2.xを使用しており、完全に動作する%play -DapplyEvolutions.default = trueでアプリケーションを起動しています。 – Langley

3

Play 20サンプルアプリケーションの1つを試してください。アプリケーションの起動時にEvolutionsを適用するように求められます。アプリケーションを初めて起動すると、その要求はアプリケーションブラウザに表示されます。

+2

devモードで動作しますが、実動モードでサンプルを実行すると、すぐに次の例外が発生します。サーバーを起動できません。 play.api.db.evolutions.InvalidDatabaseRevision:データベース 'default'には進化が必要です! [データベース上でSQLスクリプトを実行する必要があります] –

+0

良い点は、近いうちに実装する必要があるようです。それでもdevで起動し、進化を適用してからprodに切り替えることができます。しかし、私は同意する、それは演劇として働くべきである1.0 –

3

RC-3では、evolutionsスクリプトの新しい場所はconf/evolutions/[dbname] /1.sqlにあります。それ以外の場合、上記の情報はすべて正確です。

関連する問題