Skip to main content

Simple migration engine for Peewee

Project description

Home-page: https://github.com/klen/peewee_migrate
Author: Kirill Klenov
Author-email: horneds@gmail.com
License: BSD
Description: 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

.. _contents:

.. contents::

.. _requirements:

Requirements
=============

- python 2.7,3.5
- peewee >= 3.3.1

Dependency Note
---------------

For ``Peewee<3.0`` please use ``Peewee-Migrate==0.14.0``.

.. _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 FLAG Scan sources and create db migrations automatically. Supports autodiscovery.
--auto-source TEXT Set to python module path for changes autoscan (e.g. 'package.models'). Current directory will be recursively scanned by default.
--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
=============

See `AUTHORS.rst`


.. _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

Keywords: django,flask,sqlalchemy,testing,mock,stub,mongoengine,data
Platform: Any
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Natural Language :: Russian
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Utilities

Project details


Release history Release notifications | RSS feed

This version

1.1.4

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

peewee_migrate-1.1.4.tar.gz (16.0 kB view hashes)

Uploaded Source

Built Distribution

peewee_migrate-1.1.4-py2.py3-none-any.whl (16.3 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page