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

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.5.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

peewee_migrate-1.1.5-py2.py3-none-any.whl (16.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file peewee_migrate-1.1.5.tar.gz.

File metadata

  • Download URL: peewee_migrate-1.1.5.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/2.7.14

File hashes

Hashes for peewee_migrate-1.1.5.tar.gz
Algorithm Hash digest
SHA256 bf9c72162c7db0101c3cbdacde11b1ac5bab8876cd3e501301c121b2d24ea773
MD5 7012546cfe23c63c909749116145bb6a
BLAKE2b-256 6039cad3171d53b95df3d8ccddf35e5c81c53667797b37506cf1f8f9d0769f56

See more details on using hashes here.

File details

Details for the file peewee_migrate-1.1.5-py2.py3-none-any.whl.

File metadata

  • Download URL: peewee_migrate-1.1.5-py2.py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/2.7.14

File hashes

Hashes for peewee_migrate-1.1.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 96680218186a1d4e7d6507170f9b9a954bdac66686373b491087db1fadf73312
MD5 3037ad7bf02f5e23a21a4c30cf15de2a
BLAKE2b-256 112409c2dc352c1e3c14a343204495a9bdb7c5f919afc13ba753da04ba287c60

See more details on using hashes here.

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