nous.migration

Software Screenshot:
nous.migration
Software Details:
Version: 0.7.1
Upload Date: 14 Apr 15
Developer: Ignas Mikalajunas
Distribution Type: Freeware
Downloads: 6

Rating: 2.0/5 (Total Votes: 1)

nous.migration is yet another SQLAlchemy based database schema migration tool.

Installation

To install it, add:

[migration]
recipe = zc.recipe.egg
eggs=
  nous.migration


to your buildout.cfg

You might want to add your databse driver pakcage and your application
package like this:

[migration]
recipe = zc.recipe.egg
eggs=
  psycopg2
  nous.some_app
  nous.migration


Configuration

Add to your development.ini or some other kind of ini:

[nous.migration]
app = app:busy
package = busy.migration


migrator expects sqlalchemy configuration to be present in the app section, for example:

[app:busy]
sqlalchemy.url = postgresql:///development


I might add sqlalchemy configuration to the migration section too if someone will ask.

You can also add:

vcs = git
schema_diff_cmd = git diff src/busy/models/schema.sql


so that add_script command would add the files to the version control system, and populate them with the delta of your schema automatically.

These two settings might go the setup.cfg as they are not really deployment related and are never required to run your application.

Usage

bin/migrate development.ini [upgrade|downgrade|setup|add_script] [version]

Integrating with your application

Add something like this:

    engine = engine_from_config(conf, 'sqlalchemy.')
    DBMigrator(engine, 'busy.migration').set_up_migration(init_migration=DBSetUp(), run_scripts=False)


to your setup_app, or in your initialize_sql

DBSetUp is a class that has an "upgrade" method that initializes your schema.

You can do it in multiple ways, you can add a migration script that sets up your tables and then migrate that using migration scripts:

    DBMigrator(engine, 'busy.migration').set_up_migration(run_scripts=True)

Or you can have a canonical schema set up and initialize it all at once and just mark all the scripts as 'done'

    DBMigrator(engine, 'busy.migration').set_up_migration(init_migration=DBSetUp(), run_scripts=False)

Requirements:

  • Python

Similar Software

hiberlite
hiberlite

11 May 15

Orbada
Orbada

14 Apr 15

LiteSQL
LiteSQL

14 Apr 15

TUTOS
TUTOS

18 Feb 15

Other Software of Developer Ignas Mikalajunas

Comments to nous.migration

Comments not found
Add Comment
Turn on images!