Hvorfor vil du bruge MyISAM??? Det understøtter ikke udenlandske nøgler eller transaktioner. Og det er sjældent hurtigere end InnoDB, da InnoDB bruger rækkelåse og MVCC i modsætning til MyISAM's fuldbordslåse.
Når det er sagt, kan du få det til at virke. Du skal bruge en nyere version af MySQL siden type
attribut blev forældet i et stykke tid og er nu ikke understøttet - du skal bruge ENGINE
i stedet. Der er ingen dialekt, der understøtter dette (bemærk at org.hibernate.dialect.MySQL5InnoDBDialect
gør det rigtige for InnoDB), så du skal oprette din egen.
Opret denne klasse i src/groovy eller src/java (ændre pakken og/eller klassenavnet):
package com.mycompany.myapp
import org.hibernate.dialect.MySQLMyISAMDialect
class MySQL5MyISAMDialect extends MySQLMyISAMDialect {
String getTableTypeString() {
" ENGINE=MyISAM"
}
}
og referer til det i DataSource.groovy, som du viste i dit spørgsmål:
dialect = com.mycompany.myapp.MySQL5MyISAMDialect