from playhouse.migrate import * from app.modules.db.db_model import connect migrator = connect(get_migrator=1) def up(): """Apply the migration.""" # This migration renames multiple columns across different tables try: migrate( migrator.rename_column('telegram', 'groups', 'group_id'), migrator.rename_column('slack', 'groups', 'group_id'), migrator.rename_column('mattermost', 'groups', 'group_id'), migrator.rename_column('pd', 'groups', 'group_id'), migrator.rename_column('servers', 'groups', 'group_id'), migrator.rename_column('udp_balancers', 'desc', 'description'), migrator.rename_column('ha_clusters', 'desc', 'description'), migrator.rename_column('cred', 'enable', 'key_enabled'), migrator.rename_column('cred', 'groups', 'group_id'), migrator.rename_column('servers', 'desc', 'description'), migrator.rename_column('servers', 'active', 'haproxy_active'), migrator.rename_column('servers', 'metrics', 'haproxy_metrics'), migrator.rename_column('servers', 'alert', 'haproxy_alert'), migrator.rename_column('servers', 'cred', 'cred_id'), migrator.rename_column('servers', 'enable', 'enabled'), migrator.rename_column('servers', 'groups', 'group_id'), migrator.rename_column('user', 'activeuser', 'enabled'), migrator.rename_column('user', 'groups', 'group_id'), migrator.rename_column('user', 'role', 'role_id'), ) except Exception as e: if e.args[0] == 'no such column: "groups"' or str(e) == '(1060, no such column: "groups")': print("Columns already renamed") elif e.args[0] == "'bool' object has no attribute 'sql'": print("Columns already renamed") else: raise e def down(): """Roll back the migration.""" # This migration renames columns back to their original names try: migrate( migrator.rename_column('telegram', 'group_id', 'groups'), migrator.rename_column('slack', 'group_id', 'groups'), migrator.rename_column('mattermost', 'group_id', 'groups'), migrator.rename_column('pd', 'group_id', 'groups'), migrator.rename_column('servers', 'group_id', 'groups'), migrator.rename_column('udp_balancers', 'description', 'desc'), migrator.rename_column('ha_clusters', 'description', 'desc'), migrator.rename_column('cred', 'key_enabled', 'enable'), migrator.rename_column('cred', 'group_id', 'groups'), migrator.rename_column('servers', 'description', 'desc'), migrator.rename_column('servers', 'haproxy_active', 'active'), migrator.rename_column('servers', 'haproxy_metrics', 'metrics'), migrator.rename_column('servers', 'haproxy_alert', 'alert'), migrator.rename_column('servers', 'cred_id', 'cred'), migrator.rename_column('servers', 'enabled', 'enable'), migrator.rename_column('servers', 'group_id', 'groups'), migrator.rename_column('user', 'enabled', 'activeuser'), migrator.rename_column('user', 'group_id', 'groups'), migrator.rename_column('user', 'role_id', 'role'), ) except Exception as e: print(f"Error rolling back migration: {str(e)}") raise e