python-mysql2postgresql
Project description
python-mysql2postgresql
Installation - pure Python
pip install python-mysql2postgresql
Usage via Python file
from mysql2postgresql import mysql2postgresql
a = mysql2postgresql()
# connect MySQL server
a.connect_mysql(
host='localhost',
port='3306',
user='root',
passwd='',
db='database_name'
)
# connect PostgreSQL server
a.connect_postgresql(
host='localhost',
port=5432,
user='postgres',
password='postgres',
database='database_name'
)
# shortlist of tables to copy data from -> default all tables in a database
a.tables = ['table1', 'table2', ...]
# shortlist of tables to exclude -> default empty
a.without = ['table3', 'table4', ...]
# manual limit to query data -> default 10000
# not limit -> a.limit = 0
a.limit = 10000
# run the program
a.run()
Usage via command line
You can copy example above or create a demo.py file from example using:
python -m mysql2postgresql export_example
You can convert all tables in a MySQL database to PostgreSQL using a command:
python -m mysql2postgresql convert\
--mysql_host=localhost\
--mysql_port=3306\
--mysql_user=root\
--mysql_password=\
--mysql_database=db_name\
--postgresql_host=localhost\
--postgresql_port=5432\
--postgresql_user=postgres\
--postgresql_password=postgres\
--postgresql_database=database_name
Configuration from standard environment variables is supported reading $MYSQL_HOST, $MYSQL_USER, $MYSQL_PWD, $PGHOST, $PGUSER, $PGPASSWORD.
With above present you only need to add name of the database to convert.
export CONVERT_DATABASE=mydatabase
python -m mysql2postgresql convert
You can copy data only (without a schema) if you already have corresponding Postgres db schema from migrations etc. Turning off schema creation also turns off dropping postgres tables before they get recreated.
export CONVERT_SCHEMA=0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for python-mysql2postgresql-0.1.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9e88e677acb058e989c1d8c1e6de068c72d82dd17c3c1fea9c594ccaade05d1 |
|
MD5 | ba373d9539b0c1fd6311e31226795bc3 |
|
BLAKE2b-256 | 2529bcdf9fabcd5d2a50d9f7ce8543af1978ab23cdbc225275561f7908c8056b |