You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
857 B
30 lines
857 B
#!/usr/bin/python
|
|
# -*- coding: utf-8 -*-
|
|
import sys
|
|
|
|
from sqlalchemy import engine_from_config
|
|
from paste.deploy.loadwsgi import ConfigLoader
|
|
|
|
from migrate.versioning.shell import main
|
|
from {{ locals().pop('repository_name') }}.model import migrations
|
|
|
|
|
|
if '-c' in sys.argv:
|
|
pos = sys.argv.index('-c')
|
|
conf_path = sys.argv[pos + 1]
|
|
del sys.argv[pos:pos + 2]
|
|
else:
|
|
conf_path = 'development.ini'
|
|
|
|
{{py:
|
|
_vars = locals().copy()
|
|
del _vars['__template_name__']
|
|
defaults = ", ".join(["%s='%s'" % var for var in _vars.iteritems()])
|
|
}}
|
|
|
|
conf_dict = ConfigLoader(conf_path).parser._sections['app:main']
|
|
|
|
# migrate supports passing url as an existing Engine instance (since 0.6.0)
|
|
# usage: migrate -c path/to/config.ini COMMANDS
|
|
if __name__ == '__main__':
|
|
main(url=engine_from_config(conf_dict), repository=migrations.__path__[0],{{ defaults }})
|
|
|