https://github.com/ei-grad/sqlacrossover
SQLAlchemy-based cross-database migration tool
https://github.com/ei-grad/sqlacrossover
data-migration data-transfer mysql postgresql rdbms sqlalchemy
Last synced: 4 months ago
JSON representation
SQLAlchemy-based cross-database migration tool
- Host: GitHub
- URL: https://github.com/ei-grad/sqlacrossover
- Owner: ei-grad
- License: apache-2.0
- Created: 2015-10-21T13:39:20.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2021-08-17T10:05:12.000Z (over 4 years ago)
- Last Synced: 2025-08-20T05:07:07.488Z (5 months ago)
- Topics: data-migration, data-transfer, mysql, postgresql, rdbms, sqlalchemy
- Language: Python
- Homepage:
- Size: 15.6 KB
- Stars: 18
- Watchers: 3
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
sqlacrossover
=============
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
------------
.. code-block:: bash
pip install sqlacrossover[MySQL,PostgreSQL]
Example
-------
.. code-block:: bash
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.