Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

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

Download files

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

Files for peewee-migrate, version 1.1.6
Filename, size File type Python version Upload date Hashes
Filename, size peewee_migrate-1.1.6-py2.py3-none-any.whl (16.3 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size peewee_migrate-1.1.6.tar.gz (16.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page