Play プロジェクトをバージョン 2.3.4 から 2.4.2 に移行しました。プロジェクトは JPA (Hibernate) と Evolutions を使用します。データベースにサンプル データを入力する初期の Evolutions SQL スクリプトがあります。Hibernate がテーブルを生成する前に Evolutions スクリプトが実行され、明らかにエラーが発生するため、このスクリプトは機能しなくなりました。これは望ましい動作ですか? 実行順序を変更する方法はありますか?
質問する
708 次
2 に答える
0
進化とは、単純な SQL スクリプトによるデータベースの作成と更新に関するものです。そのため、休止状態など、データ テーブル自体を生成するフレームワークを使用する場合は、進化をオフにする (または自動生成をオフにして進化のみを使用する) 必要があります。
起動時にデータベースを埋める
Cassandraでも同様の問題があります。CQLファイルを読み取って実行するコードを作成し、実際のデータテーブルを作成した後にこのコードを実行するだけです。
/import.sql
Hibernate には既にこの機能があることがわかります。カスタム SQL コードをクラスパスのルートにあるファイルに入れる必要があります。
import.sql という名前のファイルがクラス パス ('/import.sql') のルートに存在する場合、Hibernate はデータベース スキーマの作成後にファイルから読み取った SQL ステートメントを実行します。
于 2015-11-11T08:51:54.377 に答える