从Play框架YAML中的文件加载数据

时间:2012-07-04 16:04:33

标签: playframework yaml load-data-infile

当play正在将数据库应用于数据库时,我想将存储在文件中的一些数据加载到我的mysql数据库中。
基本上当play正在运行1.sql来升级数据库时,我想运行一个“LOAD DATA INFILE”或等效的。

也许在yaml中存在LOAD DATA INFILE的等价物?

如果是,我怎么能达到类似的东西呢 LOAD DATA INFILE "/path/to/myfile" INTO TABLE myTable FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n';

由于

2 个答案:

答案 0 :(得分:0)

LOAD DATA INFILEMySQL specific。您必须使用此MySQL命令使用的语法。

AFAIK,您可以使用此MySQL语句从Evolution的SQL文件加载数据。棘手的部分是正确定位您的数据文件,因为当您使用play dist命令时,演变文件存储在您的应用程序jar中(即在您的类路径中)。因此,当您想要在生产中部署时,必须小心,并在生成的zip中添加数据文件。

答案 1 :(得分:0)

我发现了这个问题的替代方案,

在global.java中

,当重新启动应用程序时,我检查我的表是否为空 if(Ebean.find(MyClass.class).findRowCount() == 0)
然后我用FileInputStream以经典的方式读取我的文件,用java string split()函数拆分行,用我的模型的save()函数更新mysql表