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.2.tar.gz (8.6 kB view hashes)

Uploaded source

Built Distribution

sqlacrossover-0.3.2-py2.py3-none-any.whl (8.8 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page