問題タブ [playframework-evolutions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
playframework-2.0 - 進化をロールバックする
この質問はばかげているように見えるかもしれませんが、Play2.0で進化をロールバックする方法についての指示が見つかりません。Googleは、evolutionファイルの「Downs」セクションがそのために使用されていると言うページのみを検索します。それだけです。任意のポインタまたは指示をいただければ幸いです。
database - Evolutions Kingdom でプログラムによってデータベース テーブルを作成する
大規模な階層データセットを操作するプログラムを想像してください。プログラムは、そのような新しいデータセットをそれぞれ専用のテーブルに保存します。テーブルは、データセットに含まれるデータ型に応じて作成されます。まあ、特に珍しいことは何もありません。これは些細な状況です。しかし、進化のパラダイムが支配する Play 2.0 で、この種の調整を行うにはどうすればよいでしょうか? 私はそれについて考え始めることができません。
アップデート
結局のところ、簡単な方法はありません。Ok。ラウンドウェイ。
次のことは可能ですか。
1)プログラムにevolutionsファイル自体を作成させ、それらを自動的に適用しますか?Play の哲学に何らかの歪みが生じることはありますか?
2) 別のスレッドで別の DB システムを使用し、Play の固有のデータベース機能を使用しないでください。それはとても痛いでしょうか?
更新 2
MongoDB Casbah のドキュメントを読んでいて、とても気に入っています。これを Play アプリケーションで使用する予定です。Play で Casbah 経由で MongoDB を使用することの反証はありますか?
playframework - プレイ2で進化スクリプトを再生成する
Play 2 でアプリケーションの最初のバージョンを開発中です。どうすれば進化スクリプトを再生成できますか?
heroku - Play 2 の進化は、テストと本番用に blob と bytea を適用します
play 2.0 で Bean を作成すると、evolutions が 1.sql DDL を作成してくれました。
これは、BLOB タイプを含むエンティティです。
この DDL を作成します。
H2 db ではローカルで動作しましたが、Heroku Postgres では動作しませんでした。進化を自動化して個別の DDL を作成するにはどうすればよいですか?
scala - データベースの進化に対する変更が検出されない
私は現在、欠陥のあるデータベース進化スクリプトを修正しようとしています。実際、Web アプリケーション用の最初のスクリプト (1.sql) です。ファイルに修正を適用しましたが、修正されていないファイルは、Specs2 テストの両方のライブ インスタンスで実行されているファイルです。
たとえば、次のように変更したとします。
に:
私の進化スクリプトで、テストを実行するか、実際のインスタンスを実行し、
テストログと、進化が正しく適用されていないときに表示されるライブインスタンスのエラー画面に示されているように、まだ表示されているものです。
ターゲットフォルダーのクリーニング、再コンパイル、および削除を試みました。それらのどれも機能しませんでした。何か案は?
ありがとう。
database - 本番モードでデータベースの進化を使用するには?
現在、私の進化は 2 つの方法で使用されています (Play!2 アプリで):
- それらはデータベースの構造を定義するために使用されます
- これらは、データベースにいくつかのデフォルト値を入力するために使用されます。
ダウンは通常、アップが行った可能性のある変更をすべて破棄します。prod モードでの進化は使用していませんが、アプリの起動時に適用されることは理解しています。
アプリを更新すると、進化が再適用され、すべてのデータが失われるということですか? もしそうなら、どうすればこれを回避できますか?
scala - Play フレームワーク 2 で進化を手動で適用し、解決済みとしてマークする方法
playframework 2 で適用されたように進化をマークすることは可能ですか?
シナリオ: H2 と互換性がなく、テスト中に残りの進化が適用されなかったため、既に適用されている進化ファイルを変更する必要がありました。それで、私はそれを修正しました。ここで、アプリケーションは変更された進化を再適用しようとしています。適用せずに「解決済みとしてマーク」したいだけです(ドロップを避けてテーブルを再作成します)。
java - Play Framework 2 データベースの進化を本番環境で処理する方法
モデルを変更するたびに、Play Framework は、スキーマ全体を削除して再作成するスクリプトを実行するように要求するようです。明らかに、これは本番環境では機能しません。本番環境でこれを処理する適切な方法は何ですか?
注意してください、私は ebean と Postgres を使用しており、heroku でホストしています。
postgresql - Playフレームワークの進化を使用してPostgreSQLで関数を作成するにはどうすればよいですか?
PlayFramework2.1を使用
私の進化では、次のSQLが定義されています。
エボリューションを実行すると、次のエラーが発生します。
PostgreSQLドライバーバージョン9.1-901.jdbc4を使用しています。
postgresクエリログを調べたところ、Playが次のことを実行しようとしていることがわかりました。
そのため、何らかの理由で、Playは適切にエスケープせずにSQLをテキスト列に挿入しようとしています。他の誰かがこれの回避策を見つけましたか?これはJDBCの問題であり、Playの問題ではないと思いますか?また、誰かがLiquibaseをPlay 2.1で動作させていますか?
また、$$を'に変更するだけでも機能しません。その場合、別のエラーが発生しますが、それでも進化を実行することはできません。
編集:新しいプレイプロジェクトの例を追加しました。http://elijah.zupancic.name/files/play_evolution_problem.tar.gzからダウンロードしてください。
この例を機能させるには、evolution1.sqlの最初のコメントに示されているように新しいデータベースを作成する必要があります。次に、正しいポートと正しいユーザーでpostgresに接続するようにconf/application.confを構成する必要があります。
Playフレームワークの完全に外部にcreate関数sqlを挿入しようとする実験を行ったところです。例はここにあります:http://elijah.zupancic.name/files/PgCreateFunction.tar.gz <
非常に再現性が高いことがわかります。
編集:Javaで再現できないことがわかりました。
java - 列挙型フィールドタイプのEbeanモデル用に予期せず生成された進化スクリプト
私はまだPlayFrameworkを使ったEbeanORMについて学んでいます。Play!Frameworkによって生成された予期しない進化スクリプトに問題があります。Play!Framework2.1.1とJDK1.7 update564ビットを使用しています。申し訳ありませんが、この質問の長いコードスニペットについてです。
次のような2つのEbeanモデルがあります。
Course.java
CourseInterest.java
これは、上記のモデルから生成された進化スクリプトです。
生成された進化スクリプトで私が期待したのは次のとおりです。
castillo_courses
CREATE TABLE
スクリプトでは、制約ck_castillo_courses_course_type
は、チェックインするのではなく、属性で(1,2,3,4)
定義されたとおりにチェックインする必要があります。列挙型の値を使用して、evolutionがこのチェックを生成したと思われます。CourseType.value
(0,1,2,3)
ORDINAL
castillo_course_interest
CREATE TABLE
スクリプトでは、を除くすべてのフィールドを再度定義しcastillo_courses
ますcode
。スクリプトは、アノテーションで定義された列を定義するだけだと思います。ここに別の問題があります。モデルで定義された2つを定義したため、主キー制約を生成するスクリプトもありません。course_code
@JoinColumn
@Id
この問題について説明したり、アドバイスを与えたり、助けてくれたりする人に感謝します。:)
よろしくお願いします。