A simple and flexible migration manager for Peewee ORM.
- python > 3.4, <= 3.8
- peewee >= 3.0.0
- click >= 2.0
This package can be installed using pip:
pip install peewee-moves
Here's a quick teaser of what you can do with peewee-moves:
$ export FLASK_APP=myflaskapp
$ flask db create app.models.Category
INFO: created migration 0001_create_table_category
$ flask db revision "do something"
INFO: created migration 0002_do_something
$ flask db upgrade
INFO: 0001_create_table_category: upgrade
INFO: 0002_do_something: upgrade
$ flask db downgrade
INFO: 0002_do_something: downgrade
$ flask db status
INFO: 0001_create_table_category: applied
INFO: 0002_do_something: pending
And if you're curious, here's what 0001_create_table_category.py looks like. A migration was automatically created based on the definition of the Category model.
def upgrade(migrator):
with migrator.create_table('category') as table:
table.primary_key('id')
table.integer('code', unique=True)
table.string('name', max_length=250)
def downgrade(migrator):
migrator.drop_table('category')
Check out the Full Documentation for more details.