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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

Details for the file sqlacrossover-0.3.2.tar.gz.

File metadata

  • Download URL: sqlacrossover-0.3.2.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for sqlacrossover-0.3.2.tar.gz
Algorithm Hash digest
SHA256 81ff7cbcab8c39715e3fb0b7a0b196539f5b45e758526897da6567d67e5e23ae
MD5 7104a8e34c32f9b4081fb5ef810b23c0
BLAKE2b-256 139c7558fab095798796c922cd5ed5312da3dbb7d1d90ba59bcf1144b40b9352

See more details on using hashes here.

File details

Details for the file sqlacrossover-0.3.2-py2.py3-none-any.whl.

File metadata

  • Download URL: sqlacrossover-0.3.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for sqlacrossover-0.3.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3edc04da58aa2ecc02299f92e4846a7d6c44b94c64dc541cbeb544c98a4b494d
MD5 2408252b3e8e293004f6dadad87eeb6e
BLAKE2b-256 ac66f631705a0187be859fafe48ffeddfb2c883f128f7931563338ffeab7f74c

See more details on using hashes here.

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