Metadata-Version: 1.0
Name: sqlturk
Version: 0.9.1
Summary: Database schema migration tool
Home-page: http://bitbucket.org/max/sqlturk/
Author: Max Ischenko
Author-email: ischenko@gmail.com
License: Apache License, Version 2.0
Description: sqlturk
        =======
        
        Design
        ------
        
        There are plenty of tools to approach the problem of database schema
        migration. Here is how sqlturk is different:
        
        * **one-way migrations**. There is no way to "rollback" a migration. In my
        experience, "downgrade" scripts are almost never used yet writing them adds considerable burden onto the developer. Their presense may add a false sense of security -- since they used so rarely there is a big chance they will not work properly anyway.
        
        * **Python-agnostic**. Sqlturk operates in terms of SQL DDL. It does not work in terms of SQLAlchemy ORM models or Django's and thus it can be used in a much wider context. Plain SQL also means that a competent DBA who knows nothing about Python can author these scripts. Or they could be generated automatically by another tool.
        
        API usage
        ---------
        
        Short example::
        
        >>> from sqlturk.migration import MigrationTool
        >>> tool = MigrationTool('sqlite:///:memory:', migration_dir='testmigrations')
        >>> tool.install() # create a database table to track schema changes
        >>> tool.find_migrations()
        ['1_foobar', '2_foobar_data', '10_foobar_delete']
        >>> tool.run_migrations()
        >>> tool.find_migrations() # check that all migrations have been applied
        []
        
        Example migration scripts can be found
        `in the sqlturk' source <http://bitbucket.org/max/sqlturk/src/tip/testmigrations/>`_.
        
        .. vim:set ft=rst tw=0:
Keywords: sql database schema migration evolution migrate sqlalchemy
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Topic :: Software Development
