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.

Source Distribution

sqlacrossover-0.3.1.tar.gz (8.2 kB view hashes)

Uploaded Source

Built Distributions

sqlacrossover-0.3.1-py3-none-any.whl (8.6 kB view hashes)

Uploaded Python 3

sqlacrossover-0.3.1-py2-none-any.whl (8.6 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page