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-hypernode.com/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-hypernode.com/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.6.tar.gz
(16.2 kB
view details)
Built Distribution
File details
Details for the file peewee_migrate-1.1.6.tar.gz
.
File metadata
- Download URL: peewee_migrate-1.1.6.tar.gz
- Upload date:
- Size: 16.2 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 | 9291c6cd39d214644ebc5d2ef2a43f9310f9546aedc8280015647c6f8ef92614 |
|
MD5 | c8773934689c51892fc6c5d126d666cb |
|
BLAKE2b-256 | d2ed24d221811e9f735719795a08da1e8bcc9f133b46a02d7862b521733320b6 |
File details
Details for the file peewee_migrate-1.1.6-py2.py3-none-any.whl
.
File metadata
- Download URL: peewee_migrate-1.1.6-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 | 17c6340047ce4090eb352488c8a7ba991dd3cf253aeeb2232881ae45414cb2c5 |
|
MD5 | 5802a5b042bc6eb2abb4f8efe96e2c63 |
|
BLAKE2b-256 | 53a6404e87d016b70afc4713c114a468adeecea97bfd9bb5426e74bb82252d3b |