Skip to content

symstu/git-alembic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FAQ Alembic Git Migration

This module created as wrapper for Alembic and the main idea is attaching real git branch, monitoring heads and auto-recommendations for merging when developer creates new migration.

How to install

pip install faq-migrations

Add CLI to your project

As standalone manager

from faq_migrations.cli import migrations


if __name__ == '__main__':
    migrations()

As sub-group of click

import click
from faq_migrations.cli import migrations


cli = click.Group()
cli.add_command(migrations)


if __name__ == '__main__':
    cli()

and run cli

python your_manager.py migrations --help

List of commands:

Usage: manager.py migrations [OPTIONS] COMMAND [ARGS]...

Creating of new migrations and upgrading database

Options:
  --help  Show this message and exit.

Commands:
  compare_history     Compare local and remote history
  create              Create new migration for current branch
  current             Show current migration revision
  heads               Show current heads
  history             Show last migration, limit=20, upper=True
  init                Initialize new alembic directory
  last_revision       Show previous migration
  merge               Merge branches or heads
  migrate             Upgrade to head
  upgrade_migrations  Show not yet applied migrations

Config settings

from faq_migrations.settings import config


# Path to your directory with alembic.ini
config.config_file_path = 'faq_migrations/migrations/' 

# Path to templates directory with alembic.ini and mako files
config.template_path = 'faq_migrations/templates/'

# Default template name
config.template_name = 'git-generic'

# Path to your directory with migrations
config.alembic_dir = 'migrations/'

# You can setup database url in this param or in alembic.ini.
# This parameter has higher priority
config.database_url = 'driver://username:pass@host:port/db_name'

Before initializing new directory with migrations you must setup config params.

Building and Publication

Build

python setup.py sdist
twine upload dist/*

Publication

pip install twine
twine upload dist/*  

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published