Grails 3脚本或带有域类的命令

时间:2016-09-03 08:15:46

标签: grails scripting command

我想要的只是一个简单的脚本来更新一些数据库表。 我的第一次尝试是使用create-script。这些脚本似乎无法加载域类。然后我发现人们说,你必须创建一个命令。 但是为了创建命令,您需要创建一个插件。 这似乎不是一个简单的dbupdate脚本。

有人可以告诉我这个。

由于 托

1 个答案:

答案 0 :(得分:0)

好的!看起来它与如何执行某些与数据库无关的操作更为相关,这些操作不是直接的db-migrations。

虽然围绕它可能有很多选择,但我想讨论一下常用的方法:

  1. Grovy Shell:您可以为grails项目创建一个直接的groovy shell,然后运行您创建的脚本。无论是用于某些数据更新还是某些迁移,还是只是报告等。 基本思想是使用命令行来运行执行特定任务的脚本。 This链接可以提供更多帮助。

  2. DBMigration:虽然在评论中您已经说过它不是dbmigration,但我认为您的dbmigration定义仅限于与架构相关的操作。这不是真的! DBmigration包括schema + CRUD(including a complicated version with join etc as well)。我们不喜欢将crud操作作为dbmigration的一部分,因为它可以在引导时或使用服务方法甚至一些外部查询或工具时实现。

  3. 与使用应用程序执行任何操作一样,您也可以执行此操作。假设您必须在表中执行一些更新和插入。只需创建一个访问此服务的服务和控制器即可执行所需的结果。我知道这是最不合理的,但总的想法是拥有一个可以执行所需操作的代码。

  4. 嘛!我建议继续第一个选项并创建一个指向同一数据库的新shell项目。在那里执行操作。