Dump de MySQL (UTF-8) para PostgreSQL(ISO-8859-1)

Esses dias tive de migrar uma base MySQL(UTF-8) para PostgreSQL(ISO-8859-1), talvez isto possa lhe ajudar:

1º: Dump da base MySQL (com compatibilidade com postgres)

mysqldump --compatible=postgresql -uroot base_de_dados_mysql -hlocalhost -p > dump_base_de_dados_mysql.sql

2º: Fazer uns ajustes nas aspas (eu tive de fazer isso manualmente…) e remover uns “lixos”

vim base_de_dados_mysql.sql

e então:
1- :%s/\\"/""/g
2- :%s/\\'/''/g
3- :%s/\\r\\n/<br \/>/g
4- :%s/\\n/<br \/>/g
5- :%s/^SET.\+//g
6- :%s/^LOCK.\+//g
7- :%s/^UNLOCK.\+//g
9- :%s/mediumtext/text/g
12- :%s/int([0-9]\+)/int/g

Obs.: Confira os auto_increment.

3º: Converter os dados para iso:

iconv -f utf-8 -t iso-8859-1 dump_base_de_dados_mysql.sql &gt; dump_base_de_dados_psql.sql

Pra mim deu conta do recado, qualquer coisa, comente!

Anúncios
Esta entrada foi postada em Dicas, SQL.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s