2011-06-16 44 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