Metadata-Version: 2.1
Name: sqlacrossover
Version: 0.3.2
Summary: SQLAlchemy-based cross-database migration tool
Home-page: https://pypi.org/project/sqlacrossover/
Author: Andrew Grigorev
Author-email: andrew@ei-grad.ru
License: Apache-2
Project-URL: Bug Tracker, https://github.com/ei-grad/sqlacrossover/issues
Project-URL: Documentation, https://github.com/ei-grad/sqlacrossover
Project-URL: Source Code, https://github.com/ei-grad/sqlacrossover
Keywords: sqlalchemy,database migration,data migration
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Topic :: Database
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Description-Content-Type: text/x-rst
License-File: LICENSE
License-File: AUTHORS
Requires-Dist: sqlalchemy
Provides-Extra: mysql
Requires-Dist: pymysql ; extra == 'mysql'
Provides-Extra: postgresql
Requires-Dist: psycopg2 ; extra == 'postgresql'

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.



