我在新的 grails 项目上有以下设置:
dataSource {
pooled = true
driverClassName = "com.mysql.jdbc.Driver"
dialect = "org.hibernate.dialect.MySQL5InnoDBDialect"
username = "sa"
password = ""
}
environments {
development {
dataSource {
dbCreate = "create-drop" // one of 'create', 'create-drop', 'update', 'validate', ''
url = "jdbc:mysql://localhost/myapp?useUnicode=yes&zeroDateTimeBehavior=convertToNull&characterEncoding=UTF-8"
username = "root"
password = ""
}
}
}
当我运行我的应用程序时,它失败并出现错误:Error creating bean with name 'transactionManagerPostProcessor':
当我手动转到数据库并创建一个名为的数据库时,此错误就会消失myapp
我以为create-drop
如果数据库不存在,则 dbCreate 中的设置假设创建该数据库。
Question
如何配置设置,以便在 MySQL 中不存在数据库时创建该数据库
创建数据库本身是不切实际的,因为它是非常特定于供应商的,甚至比创建表、序列等的 DDL 更重要。您经常需要指定访问规则、存储选项等。
Hibernate 将生成并运行 schema DDL,但您必须通过创建数据库本身来启动该过程,除了像 H2 这样的简单数据库之外。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)