0

play がデータベースに進化を適用しているときに、ファイルに保存されているデータを mysql データベースにロードしたいと考えています。
基本的に、データベースをアップグレードするために play が 1.sql を実行しているときに、「LOAD DATA INFILE」または同等のものを実行したいと考えています。

LOAD DATA INFILE の yaml に相当するものがあるのではないでしょうか?

はいの場合、どうすれば似たようなことを達成できますか
LOAD DATA INFILE "/path/to/myfile" INTO TABLE myTable FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n';

ありがとう

4

2 に答える 2

0

私はこの問題の代替案を見つけました、

global.javaで、アプリケーションを再起動すると、テーブルが空かどうかを確認して
if(Ebean.find(MyClass.class).findRowCount() == 0)
から、FileInputStreamを使用して従来の方法でファイルを読み取り、java string split()関数を使用して行を分割し、saveを使用してmysqlテーブルを更新します。 ()私のモデルの機能

于 2012-07-05T10:04:49.087 に答える
0

MySQL 固有LOAD DATA INFILEです。この MySQL コマンドで使用される構文を使用する必要があります。

私の知る限り、このMySQLステートメントを使用して、EvolutionのSQLファイルからデータをロードできます。play distコマンドを使用すると、進化ファイルがアプリの jar (つまり、クラスパス) に保存されるため、データ ファイルを適切に見つけるのが難しい部分です。そのため、本番環境にデプロイする場合は注意が必要で、生成された zip にデータ ファイルを追加する必要があります。

于 2012-07-05T07:24:53.203 に答える