imporve features
This commit is contained in:
@@ -18,18 +18,44 @@ depends_on = None
|
||||
def upgrade():
|
||||
"""Rename metadata columns to additional_data to avoid SQLAlchemy reserved attribute conflict"""
|
||||
|
||||
# Rename metadata column in equipment_connection_logs
|
||||
op.execute('ALTER TABLE equipment_connection_logs RENAME COLUMN metadata TO additional_data')
|
||||
# Check if columns need to be renamed (they may already be named additional_data in migration 002)
|
||||
from sqlalchemy import inspect
|
||||
from alembic import op
|
||||
|
||||
# Rename metadata column in equipment_iot_alerts
|
||||
op.execute('ALTER TABLE equipment_iot_alerts RENAME COLUMN metadata TO additional_data')
|
||||
connection = op.get_bind()
|
||||
inspector = inspect(connection)
|
||||
|
||||
# Check equipment_connection_logs table
|
||||
if 'equipment_connection_logs' in inspector.get_table_names():
|
||||
columns = [col['name'] for col in inspector.get_columns('equipment_connection_logs')]
|
||||
if 'metadata' in columns and 'additional_data' not in columns:
|
||||
op.execute('ALTER TABLE equipment_connection_logs RENAME COLUMN metadata TO additional_data')
|
||||
|
||||
# Check equipment_iot_alerts table
|
||||
if 'equipment_iot_alerts' in inspector.get_table_names():
|
||||
columns = [col['name'] for col in inspector.get_columns('equipment_iot_alerts')]
|
||||
if 'metadata' in columns and 'additional_data' not in columns:
|
||||
op.execute('ALTER TABLE equipment_iot_alerts RENAME COLUMN metadata TO additional_data')
|
||||
|
||||
|
||||
def downgrade():
|
||||
"""Revert column names back to metadata"""
|
||||
|
||||
# Revert metadata column in equipment_iot_alerts
|
||||
op.execute('ALTER TABLE equipment_iot_alerts RENAME COLUMN additional_data TO metadata')
|
||||
# Check if columns need to be renamed back
|
||||
from sqlalchemy import inspect
|
||||
from alembic import op
|
||||
|
||||
# Revert metadata column in equipment_connection_logs
|
||||
op.execute('ALTER TABLE equipment_connection_logs RENAME COLUMN additional_data TO metadata')
|
||||
connection = op.get_bind()
|
||||
inspector = inspect(connection)
|
||||
|
||||
# Check equipment_iot_alerts table
|
||||
if 'equipment_iot_alerts' in inspector.get_table_names():
|
||||
columns = [col['name'] for col in inspector.get_columns('equipment_iot_alerts')]
|
||||
if 'additional_data' in columns and 'metadata' not in columns:
|
||||
op.execute('ALTER TABLE equipment_iot_alerts RENAME COLUMN additional_data TO metadata')
|
||||
|
||||
# Check equipment_connection_logs table
|
||||
if 'equipment_connection_logs' in inspector.get_table_names():
|
||||
columns = [col['name'] for col in inspector.get_columns('equipment_connection_logs')]
|
||||
if 'additional_data' in columns and 'metadata' not in columns:
|
||||
op.execute('ALTER TABLE equipment_connection_logs RENAME COLUMN additional_data TO metadata')
|
||||
|
||||
Reference in New Issue
Block a user