Peewee Migrate ############## .. _description: Peewee Migrate -- A simple migration engine for Peewee .. _badges: .. image:: http://img.shields.io/travis/klen/peewee_migrate.svg?style=flat-square :target: http://travis-ci.org/klen/peewee_migrate :alt: Build Status .. image:: http://img.shields.io/coveralls/klen/peewee_migrate.svg?style=flat-square :target: https://coveralls.io/r/klen/pewee_migrate :alt: Coverals .. image:: http://img.shields.io/pypi/v/peewee_migrate.svg?style=flat-square :target: https://pypi.python.org/pypi/peewee_migrate :alt: Version .. image:: http://img.shields.io/pypi/dm/peewee_migrate.svg?style=flat-square :target: https://pypi.python.org/pypi/peewee_migrate :alt: Downloads .. _contents: .. contents:: .. _requirements: Requirements ============= - python 2.7,3.3,3.4 .. _installation: Installation ============= **Peewee Migrate** should be installed using pip: :: pip install peewee_migrate .. _usage: Usage ===== Do you want Flask_ integration? Look at Flask-PW_. From shell ---------- Getting help: :: $ pw_migrate --help Usage: pw_migrate [OPTIONS] COMMAND [ARGS]... Options: --help Show this message and exit. Commands: create Create migration. migrate Run migrations. rollback Rollback migration. Create migration: :: $ pw_migrate create --help Usage: pw_migrate create [OPTIONS] NAME Create migration. Options: --auto TEXT Create migrations automatically. Set path to your models module. --database TEXT Database connection --directory TEXT Directory where migrations are stored -v, --verbose --help Show this message and exit. Run migrations: :: $ pw_migrate migrate --help Usage: pw_migrate migrate [OPTIONS] Run migrations. Options: --name TEXT Select migration --database TEXT Database connection --directory TEXT Directory where migrations are stored -v, --verbose --help Show this message and exit. From python ----------- :: from peewee_migrate import Router from peewee import SqliteDatabase router = Router(SqliteDatabase('test.db')) # Create migration router.create('migration_name') # Run migration/migrations router.run('migration_name') # Run all unapplied migrations router.run() Migration files --------------- By default, migration files are looked up in ``os.getcwd()/migrations`` directory, but custom directory can be given. Migration files are sorted and applied in ascending order per their filename. Each migration file must specify ``migrate()`` function and may specify ``rollback()`` function:: def migrate(migrator, database, fake=False, **kwargs): pass def rollback(migrator, database, fake=False, **kwargs): pass .. _bugtracker: Bug tracker =========== If you have any suggestions, bug reports or annoyances please report them to the issue tracker at https://github.com/klen/peewee_migrate/issues .. _contributing: Contributing ============ Development of starter happens at github: https://github.com/klen/peewee_migrate Contributors ============= * klen_ (Kirill Klenov) .. _license: License ======= Licensed under a `BSD license`_. .. _links: .. _BSD license: http://www.linfo.org/bsdlicense.html .. _klen: https://klen.github.io/ .. _Flask: http://flask.pocoo.org/ .. _Flask-PW: https://github.com/klen/flask-pw