2011-06-16 48 views
1

我真的很困惑这个怪异的行为! 事情是,我有一个Grails应用程序,它在我的本地机器上创建了我的MYSQL数据库中的所有FK。grails不生成外键

但是当我尝试在另一台机器上运行它时,FK没有被创建!

这是什么原因?一些权限问题?有没有什么办法可以调试grails表的创建,所以我可以弄清楚这一点?

谢谢!

回答

3

您的数据库可能正在使用ENGINE = MyISAM,这将导致不会创建外键。

尝试将您的引擎更改为InnoDB。

+1

嘿谢谢!顺便说一句,我怎么能改变?!我应该在MYSQL中还是在我的Hibernate/grails中更改?! – 2011-06-16 16:47:21

+2

将'dialect = org.hibernate.dialect.MySQLInnoDBDialect'添加到'DataSource.groovy'中的'dataSource'块中。 – 2011-06-16 16:54:40

+1

sweet!谢谢你们俩!完美的作品! – 2011-06-16 17:54:06