This commit is contained in:
27
iris-web/source/app/alembic/alembic_utils.py
Normal file
27
iris-web/source/app/alembic/alembic_utils.py
Normal file
@@ -0,0 +1,27 @@
|
||||
from alembic import op
|
||||
from sqlalchemy import engine_from_config
|
||||
from sqlalchemy.engine import reflection
|
||||
|
||||
|
||||
def _table_has_column(table, column):
|
||||
config = op.get_context().config
|
||||
engine = engine_from_config(
|
||||
config.get_section(config.config_ini_section), prefix='sqlalchemy.')
|
||||
insp = reflection.Inspector.from_engine(engine)
|
||||
has_column = False
|
||||
|
||||
for col in insp.get_columns(table):
|
||||
if column != col['name']:
|
||||
continue
|
||||
has_column = True
|
||||
return has_column
|
||||
|
||||
|
||||
def _has_table(table_name):
|
||||
config = op.get_context().config
|
||||
engine = engine_from_config(
|
||||
config.get_section(config.config_ini_section), prefix="sqlalchemy."
|
||||
)
|
||||
inspector = reflection.Inspector.from_engine(engine)
|
||||
tables = inspector.get_table_names()
|
||||
return table_name in tables
|
||||
Reference in New Issue
Block a user