Run the db migrations on container start unless we're running against Sqlite.

This commit is contained in:
Jake Moshenko 2014-05-13 15:20:17 -04:00
parent 553ef36e9b
commit f049f738da
3 changed files with 28 additions and 11 deletions

View file

@ -3,8 +3,9 @@ from alembic import context
from sqlalchemy import engine_from_config, pool
from logging.config import fileConfig
from urllib import unquote
from peewee import SqliteDatabase
from data.database import all_models
from data.database import all_models, db
from app import app
from data.model.sqlalchemybridge import gen_sqlalchemy_metadata
@ -41,7 +42,7 @@ def run_migrations_offline():
"""
url = unquote(app.config['DB_URI'])
context.configure(url=url, target_metadata=target_metadata)
context.configure(url=url, target_metadata=target_metadata, transactional_ddl=True)
with context.begin_transaction():
context.run_migrations()
@ -53,6 +54,11 @@ def run_migrations_online():
and associate a connection with the context.
"""
if isinstance(db.obj, SqliteDatabase):
print ('Skipping Sqlite migration!')
return
engine = engine_from_config(
config.get_section(config.config_ini_section),
prefix='sqlalchemy.',