Package: peewee-migrate2
Peewee Migrate 2 – A simple migration engine for PeeweeContentsWhy Fork?RequirementsDependency NoteInstallationUsageFrom shellFrom pythonMigration filesBug trackerContributingContributorsLicenseWhy Fork?It’s a fork of originalhttps://github.com/klen/peewee_migrate. Thankklenfor that!Butklendon’t support project for a long time.To fix critical issues project was forked and development continued.Requirementspython >= 3.6peewee >= 3.3.1Dependency NoteForPeewee<3.0please usePeewee-Migrate==0.14.0.InstallationTo reduce code changes Python package name don’t changed. Only name on PyPI.If you have installed previous version please remove it before using pip:pip uninstall peewee_migratePeewee Migrateshould be installed using pip:pip install peewee_migrate2UsageDo you wantFlaskintegration? Look atFlask-PW.From shellGetting 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
    --schema                TEXT  Database schema
    -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
    --schema                TEXT  Database schema
    -v, --verbose
    --help                        Show this message and exit.Auto create migration:$ pw_migrate makemigrations --help

Usage: pw_migrate makemigrations [OPTIONS]

  Create a migration automatically

  Similar to `create` command, but `auto` is True by default, and `name` not
  required

Options:
    --name TEXT         Migration file name. By default will be
                      'auto_YYYYmmdd_HHMM'
    --auto              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
    --schema                TEXT  Database schema
    -v, --verbose
    --help              Show this message and exit.From pythonfrom 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 filesBy default, migration files are looked up inos.getcwd()/migrationsdirectory, but custom directory can be given.Migration files are sorted and applied in ascending order per their filename.Each migration file must specifymigrate()function and may specifyrollback()function:def migrate(migrator, database, fake=False, **kwargs):
    pass

def rollback(migrator, database, fake=False, **kwargs):
    passBug trackerIf you have any suggestions, bug reports or
annoyances please report them to the issue tracker
athttps://github.com/spumer/peewee_migrate2/issuesContributingDevelopment of starter happens at github:https://github.com/spumer/peewee_migrate2ContributorsSeeAUTHORS.rstLicenseLicensed under aBSD license.