Postgres X Mysql ERRO no schema

6 respostas
L

Olá pessoal!

Tenho uma aplicação que usa o postgres, e quero mudar para Mysql para fazer alguns testes…

Bom vamos lá então…

No Postgres tem uma opção pra vc criar dentro de uma Database vários schemas, e o no mysql eu não sei como fazer e não sei se tem como fazer…Pq isso?

Porque eu utilizo duas classes na aplicação que se chamam User e Group e essas palavras são reservadas no mysql…no postgres isso é resolvido criando um schema como falei acima…só q no Mysql não dá pq o schema já é a Database…

Alguém já passou por isso ou sabe como fazer?

Obrigado!

6 Respostas

5leipn1r

Na verdade é o contrario. No MySQL vc não consegue criar os databases, é um unico database e vc cria os schemas. Eu tenho um chema criado no MySQL com uma tabela chamada user sem problema. Será que vc num está tentando criar um schema chamado user ?

L

Então, agora to confuso no pgadmin eu crio o database, depois dentro do database eu crio o schema…

Quando mando gerar as tabelas no mysql ele não deixa eu criar com o nome User nem Group…como eu faço pra criar o schema no mysql??

L

Olha só o erro que dá quando tento gerar…

25/09/08 09:44:21,073 ERROR [tool.hbm2ddl.SchemaUpdate] Unsuccessful: create table Group (id integer not null auto_increment, createDate datetime, name text not null unique, status bit, version integer, primary key (id))

25/09/08 09:44:21,074 ERROR [tool.hbm2ddl.SchemaUpdate] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near Group (id integer not null auto_increment, createDate datetime, name text not nu at line 1

25/09/08 09:44:21,115 ERROR [tool.hbm2ddl.SchemaUpdate] Unsuccessful: create table User (id integer not null auto_increment, active bit, createDate datetime, lastLogin datetime, username text not null unique, version integer not null, accessRole_id integer, primary key (id))

25/09/08 09:44:21,115 ERROR [tool.hbm2ddl.SchemaUpdate] BLOB/TEXT column username used in key specification without a key length

25/09/08 09:44:21,138 ERROR [tool.hbm2ddl.SchemaUpdate] Unsuccessful: alter table GroupGeneralData add index FK79B2F8D3C7364D73 (group_id), add constraint FK79B2F8D3C7364D73 foreign key (group_id) references Group (id)

25/09/08 09:44:21,139 ERROR [tool.hbm2ddl.SchemaUpdate] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near Group (id) at line 1

25/09/08 09:44:21,156 ERROR [tool.hbm2ddl.SchemaUpdate] Unsuccessful: alter table TestJob add index FKE6F55ABC7364D73 (group_id), add constraint FKE6F55ABC7364D73 foreign key (group_id) references Group (id)

25/09/08 09:44:21,156 ERROR [tool.hbm2ddl.SchemaUpdate] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near Group (id) at line 1

25/09/08 09:44:21,176 ERROR [tool.hbm2ddl.SchemaUpdate] Unsuccessful: alter table User add index FK285FEB6E756721 (accessRole_id), add constraint FK285FEB6E756721 foreign key (accessRole_id) references AccessRole (id)

25/09/08 09:44:21,176 ERROR [tool.hbm2ddl.SchemaUpdate] Table lsitecms.User doesnt exist

25/09/08 09:44:21,221 ERROR [tool.hbm2ddl.SchemaUpdate] Unsuccessful: alter table UserGroup add index FK8A5BE154C7364D73 (group_id), add constraint FK8A5BE154C7364D73 foreign key (group_id) references Group (id)

25/09/08 09:44:21,221 ERROR [tool.hbm2ddl.SchemaUpdate] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near Group (id) at line 1

25/09/08 09:44:21,221  INFO [tool.hbm2ddl.SchemaUpdate] schema update complete
5leipn1r

No MySQL, instala o pacote GUI Tools 5.0 para o MySQL, ele irá instalar o MySQL Administrator e o Query Browser.
Pelo Query Browser na aba SchemaData vc pode clicar com o botão direito e criar tanto o schema quanto a table. Eu criei por lá e não tive problemas em criar uma table chamada user.

L

Eu vi essa opção, só que eu estou usando o hibernate para criar as tables…

E dá aquele erro, se eu renomear a classe User e Group da certo…ele cria certinho…

5leipn1r

É, aí num faço idéia, pq num enfrentei esse problema ainda, posso testar assim que tiver um tempo e depois posto o resultado. E se vc criar através de um comando sql? Veja qual o comando SQL que o query browser gera pra criar a tabela e usa identico no comando sql no eclipse pra criar a tabela.

Criado 25 de setembro de 2008
Ultima resposta 25 de set. de 2008
Respostas 6
Participantes 2