imporve features

This commit is contained in:
Urtzi Alfaro
2025-11-14 07:23:56 +01:00
parent 9bc048d360
commit a8d8828935
32 changed files with 5436 additions and 271 deletions

View File

@@ -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')