最初填充Grails数据库后端的最佳策略

时间:2010-02-23 12:50:09

标签: database grails populate

我想了解您的方法/体验,以便最初填充将保存您的应用数据的Grails数据库。假设您有数据的CSV,创建一个脚本(使用适合您的任何工具)是“更安全”:

1.-使用域类生成Bootstrap命令,在test或dev环境中运行它,然后使用本机db命令将其导出到prod?

2.-创建数据库的插入脚本,假设GORM的版本= 0并手动递增即将生成的自动生成的ID?

我担心第二种方法可能会导致hibernate的不一致,因此会产生ID生成的责任,而且可能还有其他一些我不知道的事情。

提前致谢。

2 个答案:

答案 0 :(得分:6)

查看this链接。这允许您在正常的grails上下文中运行groovy脚本,使您可以访问所有grails功能,包括GORM。我目前正在从遗留数据库导入数据,并且发现使用Groovy SQL接口编写Groovy脚本来提取数据然后将这些数据放入域对象似乎是最容易的事情。导入数据后,只需使用特定于数据库系统的命令将该数据移动到生产数据库即可。

更新

显然,我链接到的博客条目引用的更新条目不再存在。我能够使用以下链接中的代码来完成此工作,该链接也在注释中引用。 http://pastie.org/180868

答案 1 :(得分:0)

最后,似乎最简单的解决方案是考虑当前版本(1.2)中的GORM对所有自动生成的ID使用单个序列。因此,在创建所需的任何脚本时(使用您偏好的语言)考虑这一点应该足够了。据我所知,1.3版本计划每个表都有自己的序列。