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
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.4.tar.gz
(16.0 kB
view details)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | bca15083d6e66cfdf66cecf69439ccad8a16738ced4304372a1cf7b1c9036d8a |
|
MD5 | 21d420af991a7d1f2e5509613f5a3f71 |
|
BLAKE2b-256 | 64d19a08e399631831e9230b702e79da67577228328f8abd0402ea7c72b9d6b8 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36aca99263072e67b17888b3b0141c8e31cc4f2ee7ef1c148570995bd371a476 |
|
MD5 | d6d1508f055a0a43e9760b82d5d31a5e |
|
BLAKE2b-256 | d553c5ddd2a8ed54ff5513f1717e22b5a8aebd345ef8ac024d5665bd7bea564d |