Fork me on GitHub

mySQL to postgreSQL schema conversion post

Purpose

I was looking for a tool that convert a mysql db to a pgsql one. philipsoutham/py-mysql2pgsql does the trick and saved my day!

Install

sudo apt-get install python-pip
pip install py-mysql2pgsql

Configure

Edit configuration in mysql2pgsql.yml

# if a socket is specified we will use that
# if tcp is chosen you can use compression
mysql:
 hostname: localhost
 port: 3306
 socket: /var/run/mysqld/mysqld.sock
 #socket: /tmp/mysql.sock
 username: emedia
 password: emedia
 database: emedia
 compress: false
destination:
 # if file is given, output goes to file, else postgres
 file: /vagrant/shared/migrationMysql2Pgsql.sql
 postgres:
  hostname: localhost
  port: 5432
  username: mysql2psql
  password:
  database: mysql2psql_test

# if tables is given, only the listed tables will be converted.  leave empty to convert all tables.
only_tables:
- lti2_consumer
- lti2_context
- lti2_nonce
- lti2_resource_link
- lti2_share_key
- lti2_tool_proxy
- lti2_user_result
# if exclude_tables is given, exclude the listed tables from the conversion.
#exclude_tables:
#- table3
#- table4

# if supress_data is true, only the schema definition will be exported/migrated, and not the data
supress_data: true

# if supress_ddl is true, only the data will be exported/imported, and not the schema
supress_ddl: false

# if force_truncate is true, forces a table truncate before table loading
force_truncate: false

Categories: mySQL, pgSQL