将字段添加到Grails域类?

时间:2009-03-15 21:01:30

标签: grails

我想在现有的域类中添加一个字段。我不想丢失我的视图文件,但据我所知,如果我运行generate-all将会发生。还有其他方法可以更新映射等吗?

4 个答案:

答案 0 :(得分:4)

我认为这是一个共同关注的问题。

这不是你问题的直接解决方案,但这是我的工作,对我来说非常好。

  1. 我从不直接修改grails scaffolded artifacts(视图和控制器)

  2. 我将生产视图/控制器与脚手架工件分开;通过我使用scaffolded作为我的应用程序控制器和视图的起点。

  3. 如果对域模型进行了更改,我会重新生成视图并从脚手架工件复制粘贴(尽可能)到手工编码的工件。

  4. 在某些时候,我要么从应用程序中删除所有脚手架工件,要么保护对它们的访问权限。

  5. 希望这会有所帮助。

答案 1 :(得分:1)

有几种方法可以做到这一点。

  1. 如果您没有过多地修改生成的视图并使用版本控制,则可以允许grails覆盖您的视图,然后将更改合并到版本控制中的新模板中。

  2. 如果您修改了生成的视图,则可以对覆盖视图的提示回答“否”。如果您只是添加一个新字段,更改字段名称或类似的简单字体,修改视图模板应该非常直接手动完成。

  3. 您将以相同的方式处理对控制器的任何可能更改。

答案 2 :(得分:0)

宣布:

class MyDomain {
    String newField;
}

应该只需要做。

答案 3 :(得分:0)

不要重新生成视图,只需将其他类似字段复制并粘贴到您想要的视图中。