postgreSql数据库转为mysql
1 将数据库结构先迁移到mysql中,修改DataSource.groovy。在lib里放mysql的驱动。2 用pg_dump导出postgresql的数据pg_dump mydatabase -Upostgres -a -D -f /path/to/bak.sql
其实-a表示只取数据,-D表示在insert语句中含有字段名,
这样可以避免你的数据库增加了字段而导致的数据字段不完全匹配问题,这样导出的结果是一系列insert
语句。
3 用netbeans等编辑工具打开bak.sql ,发现insert语句上面有数十行postgresql平台的特定sql语句,
将这些语句全部删除,最后加上“set names utf8;”,这样就解决utf8乱码问题。
4 最关键的一点,由于pg中很多关键字的字段在insert语句中是加双引号的,而在mysql中是不加双引号
的,在导入过程中会产生语法错误,解决办法是替换掉这些伪关键字,比如“password” "domain"
"position" "role"等,替换为password domain position role
5 运行grails run-app命令。自动生成表和结构(Grails/Hibernate)。
6 mysql -uroot -p123456 newdatabase < bak.sql
7 导入成功,over
页:
[1]