Grails 从领域模型自动生成数据库

Posted

技术标签:

【中文标题】Grails 从领域模型自动生成数据库【英文标题】:Grails auto-generate the database from the domain model 【发布时间】:2018-06-17 07:40:27 【问题描述】:

我正在尝试在 Netbeans 中使用 Grails(3.2) 和 mysql 创建一个简单的应用程序。 我在 Grails 项目中配置了 MySql 并创建了一个名为 "third" 的数据库。创建域类模型、控制器(脚手架)和 CRUD 视图后,我的项目正在运行,但每当我尝试执行任何操作时 - screenshot of error

正在发生此错误。我无法解决这个问题,也尝试手动创建“Person”表,但出现同样的错误。

【问题讨论】:

您是否在开发模式下运行您的应用程序?您是如何在 application.yml 中配置数据库设置的?我的看起来像这样,并且可以工作:`环境:开发:dataSource:dbCreate:create-drop driverClassName:“com.mysql.jdbc.Driver”方言:null url:“jdbc:mysql:// localhost:3306/yourDbName?autoreconnect =true&useSSL=false" 用户名:"dbusername" 密码:"your-db-password" 属性:...` 我已经关注docs.grails.org/latest/guide/conf.html#dataSource这个过程。兄弟,我是新来的。你能帮我看看如何在 grails、mysql 中创建简单的 crud 吗?我知道 laravel,但互联网上没有太多关于 grails3 的教程。 您是否尝试过我为您提供的关于您上一个问题的链接的指南? guides.grails.org/creating-your-first-grails-app/guide/… 【参考方案1】:

您的堆栈跟踪清楚地表明您的名称为 third 的数据库没有正确的表 person。但是你不应该手动创建这个表(如果你已经有 - 请从你的数据库中删除所有表)

连接看起来不错,但您应该查看 application.yml 中的 dbCreate 值。

dbCreate - 是否从域模型自动生成数据库 - 'create-drop'、'create'、'update' 或 'validate' 之一

https://docs.grails.org/latest/guide/conf.html

如果您只是使用简单的命令grails run-app 来启动服务器,那么您应该检查 environments: development 块中的值。

如果您需要个性化解决方案,请粘贴您的 application.yml 内容(无需数据库凭据)。

【讨论】:

以上是关于Grails 从领域模型自动生成数据库的主要内容,如果未能解决你的问题,请参考以下文章

PyTorch生成3D模型

在 Grails 中映射遗留数据库表时避免表更改?

NLP领域任务如何选择合适预训练模型以及选择合适的方案规范建议ERNIE模型首选

领域实体、DTO 和视图模型

Grails 2.0 集成测试污染?

Grails 资源标签生成错误链接