MySQL InnoDB ao fazer deploy de app

6 respostas
jgbt

Seguinte,
tenho uma app web usando Hibernate com MySQl e um dos requisitos é que o usuario tenha somente o Mysql com o banco default test rodando para a app ser deploiada e funcionar. Quando faço deploy da app digo p/ o hibernate criar as tabelas e depois populo elas.
Tudo funciona legal, com o unico problema que as tabelas são criadas como MyISAM(que não possui transação) em vez de InnoDB. ja forcei o Dialect do hibernate para MySQLInnoDBDialect mas não funcionou.
Não gostaria de ter que monta um script sql e rodar antes de fazer o deploy.
Alguem sabe se tem como fazer isso??

Valew!!

João Bier.

6 Respostas

adriano.ferranti

Isso aconteceu uma vez comigo, eu tinha esquecido de comentar o dialeto MyIsam, então eu estava com as duas seguintes linhas descomentadas e o hibernate estava usando o MyIsam como padrão

hibernate.dialect org.hibernate.dialect.MySQLDialect 
hibernate.dialect org.hibernate.dialect.MySQLInnoDBDialect
jgbt

blz cara, mas eu estou usando MySQLInnoDBDialect. cheguei a forcar tanto no hibernate.cfg.xml e no applicantionContext.xml… so p/ ter certeza… hehe.
nao sei onde mais posso setar isso.

[]'s

adriano.ferranti

No meu caso o problema estava no hibernate.properties, você chegou a checar esse arquivo ?

jgbt

cara, tanto faz usar o hibernate.properties ou o hibernate.cfg.xml…
eu to usando o xml. como uso spring to forcando no applicationContext.xml tmb.

[]'s

jgbt

bom, como eu tava usando a versao 4.1 do mysql resolvi atualizar p/ ver se funcionava e baixei a versao 5.0. o mesmo comportamento aconteceu, ou seja, as tabelas nao sao criadas como InnoDB.
nao sei se isso eh configuravel, pq como to usando a versao zipada, nao tenho opcoes de instalacoes tal…

[]'s

jgbt

problema resolvido.
basicamente tirei as configurações do hibernate do applicationContext e deixei so no hibernate.cfg.xml e as tabelas foraão criadas como InnoDB.
deve ser alguama coisa relacionada com a propriedade que manda atualizar o schema e o Spring.

[]'s

Criado 29 de maio de 2007
Ultima resposta 4 de jun. de 2007
Respostas 6
Participantes 2