問題タブ [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 - JOOQ ジェネレーターによる Playframework の進化
私が使用しているプロジェクトJOOQ
とそのジェネレーターを使用して、データベースからクラスを生成しPostgres
ます。データベースの進化は によって管理されPlay Evolutions
ます。git
また、リビジョン管理システムとしても使用しています。この一連のツールは、から新しいevolutions/jooqコードを取得する際に、一種の自己参照の問題を引き起こしますgit
:
JOOQ
他のチーム メンバーによって作成された新しいテーブルの進化は、これらのテーブルから生成されたクラスがないために発生するコンパイルの問題により適用できません。
私は次の解決策を考えていました:
- sbt からの進化の適用 - sbt タスクの作成 - これまで実装に失敗しました。
- データベースに進化を手動で適用する (コピー ペースト スクリプト) - 意味がありません。
スタック:
- PlayFramework 2.3.8
- ジョーク 3.5.3
- Java 8
お知らせ下さい。
playframework - Play Framework DML 挿入スクリプト
Slick とインメモリ H2 データベースで Play Framework 2.3 を使用しています。アプリケーションを起動するときに、進化スクリプトからデータベースを作成するだけでなく、いくつかのデフォルト データを挿入したいと考えています。このトピックは、Play のドキュメントではカバーされていないようです。
postgresql - なぜ Play Framework の進化は機能しないのですか?
私は Play 2.3 を使用しており、PostgreSQL 9.4 の進化によってリレーショナル データベースを生成しようとしています。
conf/evolutions/default/1.sql
スクリプトには次のステートメントがあります。
以下は私のイベントテーブルの説明です:
ブラウザでアプリケーションを起動すると、次のエラーが表示されます。
この SQL スクリプトを実行しようとしたときに、次のエラーが発生しました。
何が間違っている可能性がありますか?このエラーを修正して外部キー制約を追加するにはどうすればよいですか?
外部キー制約なしで、次のようにデータベース ラウンドを生成することに注意してください。
scala - 自動インクリメントIDで行を挿入 - Playframework Scala - Slick
私の進化の 1 つには、BIGSERIAL
列を持つ非常に単純なテーブル定義が含まれています。
SlickCodeGenerator
データベース自体からクラスを生成するために使用します。
Product
データベースによって生成されるように、IDなしでテーブルに行を挿入したいと思います。問題はProductRow.id
オプションではないことです。ほとんどの解決策は、クラスに新しいメソッドを追加することを提案していますが、変更がいつでも失われる可能性があるため、Product
によって生成されたソースには触れないでください。slick
そのような生成されたファイルを使用して ID なしで行を挿入する方法はありますか?
私は、を使用Slick 3.0
しPlayframework 2.4.1
ます。
編集:ダミーIDを送信すると問題は解決しますが、ネットワーク上では冗長です。私は次のようなものを探しています: insert into product(name, color) values('name', 'color')
.
java - datomic の Play 2.0 Evolution
私は永続化のためにPlay 2.0 framework
andを使用しています。Datomic
現在のところ、通常、データベースを手動でインストール (および移行を実行) します。つまり*.edn
、groovy スクリプトのファイルからスキーマを読み取ることによって行います。
今、移行を「進化」に移行したいのですが、それを行うための最良の方法は何ですか? だから私が知りたいのは:
- nosql データベース (または永続性) の進化をセットアップする方法
- スクリプトの書き方
- これらのデータベースの進化を実行する方法は?
hibernate - Play フレームワーク 2.4 での Play Evolutions と JPA
Play プロジェクトをバージョン 2.3.4 から 2.4.2 に移行しました。プロジェクトは JPA (Hibernate) と Evolutions を使用します。データベースにサンプル データを入力する初期の Evolutions SQL スクリプトがあります。Hibernate がテーブルを生成する前に Evolutions スクリプトが実行され、明らかにエラーが発生するため、このスクリプトは機能しなくなりました。これは望ましい動作ですか? 実行順序を変更する方法はありますか?
postgresql - テーブル名をエスケープする進化を再生する
私は Play!Framework をデータベースとして実行しjdbc
てPostgresql
います。開発用の進化を有効にしたいと思います。
Play はテーブル名を自動的にエスケープしないようです。たとえば、 というテーブルを作成する場合、は SQL の予約語であるuser
ため、テーブルを自動的に作成できないようです。user
Play は次のような進化を生成します。
テーブル名を自動的にエスケープする方法はありますか?
ありがとう