Migração MySQL para Postgres - Campo Serial
09/10/2017 10:33
Pessoal,
estou fazendo uma migração de banco em um projeto Grails, que utiliza MySQL e passará a utilizar o PostgreSQL.
O grande problema é que o Postgres não tem auto increment no campo id, como no MySQL. Para resolver isso, teria que executar para cada tabela no postgres:
ALTER TABLE tabela drop COLUMN id;
ALTER TABLE tabela ADD COLUMN id SERIAL PRIMARY KEY;
Ou adicionar o seguinte no mapping:
static mapping = {
id generator: "sequence", params: [sequence: "campo_sequence"], sqlType : "serial"
}
Como são muitas tabelas, essas soluções não são muito agradáveis. Além disso a solução do "mapping" quebraria a aplicação no caso de uma migração de volta pra o MySQL.
Alguém tem uma solução mais interessante na configuração do Grails ou em SQL mesmo?
Tags:
Grails postgres serial