Metadata-Version: 2.0
Name: data-migrator
Version: 0.4.6
Summary: declarative data migration and transformation package
Home-page: https://github.com/schubergphilis/data-migrator
Author: Ilja Heitlager
Author-email: iheitlager@schubergphilis.com
License: MIT
Keywords: datamigration,development-tools
Platform: UNKNOWN
Classifier: Development Status :: 6 - Mature
Classifier: Environment :: Console
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Database
Classifier: Topic :: Utilities
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English

.. image:: https://circleci.com/gh/schubergphilis/data-migrator.svg?style=svg
    :target: https://circleci.com/gh/schubergphilis/data-migrator

.. image:: https://readthedocs.org/projects/data-migrator/badge/?version=latest
    :target: http://data-migrator.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://api.codacy.com/project/badge/Grade/bf6030e9e7e248979607802880336611
    :target: https://www.codacy.com/app/schubergphilis/data-migrator?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=schubergphilis/data-migrator&amp;utm_campaign=Badge_Grade

.. image:: https://api.codacy.com/project/badge/Coverage/bf6030e9e7e248979607802880336611
    :target: https://www.codacy.com/app/schubergphilis/data-migrator?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=schubergphilis/data-migrator&amp;utm_campaign=Badge_Coverage

.. image:: https://badge.fury.io/py/data-migrator.svg
    :target: https://badge.fury.io/py/data-migrator

Data-migrator is a simple data-migration package for python lovers. It is a
declarative DSL for table drive data transformations, set up as an open and 
extensive system.

Example
-------

Data-migrator assumes data is extracted and loaded with client access.

.. code-block:: bash

	$ mysql source_db -E 'select id,a,b from table' -B  | python my_filter.py | mysql target_db

It than offers a wide range of primitives with default settings to build complex transformations
fast, readable and extendable

.. code-block:: python

  from data_migrator import models, transform

  class Result(models.Model):
    id   = models.IntField(pos=0) # keep id
    uuid = models.UUIDField()     # generate new uuid4 field
    a    = models.StringField(pos=1, default='NO_NULL', max_length=5, null='NULL', replace=lambda x:x.upper())
    b    = models.StringField(pos=2, name='my_b')

  if __name__ == "__main__":
    transform.Transformer(models=[Result]).process()

Installation
------------

See the `Installation Instructions
<http://data-migrator.readthedocs.io/en/latest/install.html>`_ in Documentation for
instructions on installing, upgrading, and uninstalling data-migrator.

The project is `maintained at GitHub <https://github.com/schubergphilis/data-migrator>`_.

Support and contribute
----------------------
Questions, comments, bug reports and especially tested patches may be
submitted directly to the `issue tracker
<https://github.com/schubergphilis/data-migrator/issues>`_.

Everyone interacting with this codebase, issue trackers,
chat rooms, and mailing lists is expected to follow the
`Code of Conduct <https://data-migrator.readthedocs.io/en/latest/code-of-conduct/>`_.


