Implement flag handling and migration status checks; refactor database test functions and update requirements
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
import sys
|
||||
import os
|
||||
|
||||
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
|
||||
|
||||
|
||||
|
||||
import os
|
||||
import db
|
||||
import logging
|
||||
import sys
|
||||
from migration import alembic_scipt as alembic
|
||||
from sqlalchemy import inspect
|
||||
|
||||
session = db.session
|
||||
engine = db.engine
|
||||
|
||||
def test_column(engine, tablename, row):
|
||||
try:
|
||||
inspector = inspect(engine)
|
||||
columns = [col["name"] for col in inspector.get_columns(tablename)]
|
||||
return row in columns
|
||||
except Exception as e:
|
||||
logging.error(e)
|
||||
|
||||
|
||||
def test_table(table, columns):
|
||||
for column in columns:
|
||||
try:
|
||||
exists = test_column(engine, table, column)
|
||||
if exists == False:
|
||||
logging.error(f"DB has not all columns. {column} is missing")
|
||||
print(f"Column {column} is missing")
|
||||
sys.exit()
|
||||
os._exit(1)
|
||||
return False
|
||||
else:
|
||||
logging.info("Column fine")
|
||||
except Exception as e:
|
||||
logging.error(e)
|
||||
return True
|
||||
|
||||
def migration_check():
|
||||
if alembic.check_db() == False:
|
||||
print("migrating")
|
||||
logging.info("DB is migrating")
|
||||
Reference in New Issue
Block a user