更新数据库中的约束 - Grails 3.2.2

Update constraints in Database - Grails 3.2.2

我有一个带有 String 字段的 class,现在我添加了一个新约束:

foo(maxSize: 30)

在我的dataSource中我有这个值:

dbCreate: update

当我 运行 应用程序时,maxSize 在我的数据库中没有改变(用 MySql Workbench 检查)。

如何更新数据库中的新约束?

使用 dataSource.dbCreate = update 时,

GORM 不会更改现有列。你应该自己做,使用 alter table 语句。

在我看来,最好的选择是使用 migrations 插件;它是最近出版的。您可以阅读 here. Plugin documentation is available here 中的指南。

我建议您阅读指南并参考上面提供的文档。

另一种选择是使用 dbCreate: create-drop,如果负担得起...,我的意思是适合您的情况。