4

我想知道您在最初填充将保存您的应用程序数据的 Grails 数据库时的方法/经验。假设您有包含数据的 CSV,那么创建一个脚本(使用适合您的任何工具)“更安全”:

1.-使用域类生成引导命令,在测试或开发环境中运行,然后使用本机数据库命令将其导出到产品?

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

我担心第二种方法可能会导致不一致,因为 hibernate 将对 ID 生成负责,并且可能还有其他我遗漏的东西。

提前致谢。

4

2 回答 2

6

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

更新:

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

于 2010-02-23T13:02:06.197 回答
0

最后,似乎最简单的解决方案是考虑从当前版本(1.2)开始的 GORM 对所有自动生成的 id 使用单个序列。因此,在创建您需要的任何脚本(使用您喜欢的语言)时考虑到这一点就足够了。我了解 1.3 版本的计划是每个表都有自己的序列。

于 2010-02-26T13:28:19.657 回答