33 lines
997 B
Python
33 lines
997 B
Python
import click
|
|
from ..base import files, sources
|
|
from ..base.config import config as cfg
|
|
from ..base import migrator as mig
|
|
from alembic.config import Config
|
|
|
|
|
|
@click.command()
|
|
@click.option('-m', default="", help='Description of your migration')
|
|
def createmigration(m):
|
|
#TODO: Validate init is done
|
|
click.echo("Generating migration files... but first lets remove your models")
|
|
|
|
# Delete files from model folder
|
|
files.delete_file(cfg["migration-path"]+"/models", donot=["base.py"])
|
|
|
|
# Iterate over query-paths
|
|
query_paths = files.get_filepaths(cfg["query-paths"])
|
|
for filepath in query_paths:
|
|
conf, query = files.process_query_file(filepath)
|
|
src = sources.get_source(conf["extract_from"],filepath)
|
|
src.generate_model(query)
|
|
|
|
# Generate Init file
|
|
files.generate_init(query_paths)
|
|
mig.create_migration_file(script_message=str(m))
|
|
click.echo("Creation migration is done !")
|
|
|
|
|
|
@click.command()
|
|
def migrate():
|
|
mig.migrate()
|