Skip to main content

SQLAlchemy-based cross-database migration tool

Project description

Cross-database migration tool based on SQLAlchemy

Features:

  • Copy data and schema between SQLAlchemy-supported databases
  • Table ordering - taking the foreign keys dependencies in consideration
  • Data processing in batches
  • Wrap the process in transaction to get consistent results
  • Dump schema and data to SQL file

Installation

pip install sqlacrossover[MySQL,PostgreSQL]

Example

sqlacrossover 'mysql+pymysql:///sourcedatabase?charset=utf8' postgresql:///targetdatabase

TODO

  • Write documentation
  • Implement options:
    • --no-data
    • --tables
    • --exclude-tables
    • --truncate-non-empty
    • --skip-non-empty
  • Implement efficient driver-depenedent insert methods
    • PostgreSQL COPY FROM / COPY TO
    • MySQL LOAD DATA LOCAL INFILE
  • Write tests, configure travis.ci

Contibuting

Pull requests implementing new features, adding tests, docs and fixing bugs are welcome.

Feel free to open an issue with any feedback or ideas, also.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
sqlacrossover-0.3.1-py2-none-any.whl (8.6 kB) Copy SHA256 hash SHA256 Wheel py2
sqlacrossover-0.3.1-py3-none-any.whl (8.6 kB) Copy SHA256 hash SHA256 Wheel py3
sqlacrossover-0.3.1.tar.gz (8.2 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page