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 details)

Uploaded Source

Built Distribution

peewee_migrate-1.1.4-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.4.tar.gz.

File metadata

  • Download URL: peewee_migrate-1.1.4.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.4.tar.gz
Algorithm Hash digest
SHA256 bca15083d6e66cfdf66cecf69439ccad8a16738ced4304372a1cf7b1c9036d8a
MD5 21d420af991a7d1f2e5509613f5a3f71
BLAKE2b-256 64d19a08e399631831e9230b702e79da67577228328f8abd0402ea7c72b9d6b8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: peewee_migrate-1.1.4-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.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 36aca99263072e67b17888b3b0141c8e31cc4f2ee7ef1c148570995bd371a476
MD5 d6d1508f055a0a43e9760b82d5d31a5e
BLAKE2b-256 d553c5ddd2a8ed54ff5513f1717e22b5a8aebd345ef8ac024d5665bd7bea564d

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