#!/usr/bin/env python3 """ Fix existing monitor_jobs records to include ASRX in processors list. This script adds 'asrx' to processors array for all monitor_jobs records that don't have it yet. """ import os import psycopg2 def fix_processors(): schema = os.environ.get('DATABASE_SCHEMA', 'public') conn = psycopg2.connect(os.environ.get('DATABASE_URL', 'postgres://accusys@localhost:5432/momentry')) cur = conn.cursor() # Check current state cur.execute(f""" SELECT COUNT(*) FROM {schema}.monitor_jobs WHERE processors IS NOT NULL AND NOT ('asrx' = ANY(processors)) """) missing_asrx = cur.fetchone()[0] print(f"Found {missing_asrx} jobs missing ASRX in processors") if missing_asrx > 0: # Add ASRX to processors array cur.execute(f""" UPDATE {schema}.monitor_jobs SET processors = array_append(processors, 'asrx') WHERE processors IS NOT NULL AND NOT ('asrx' = ANY(processors)) """) updated = cur.rowcount conn.commit() print(f"Updated {updated} jobs to include ASRX") # Verify cur.execute(f""" SELECT uuid, processors FROM {schema}.monitor_jobs WHERE processors IS NOT NULL AND 'asrx' = ANY(processors) ORDER BY created_at DESC LIMIT 5 """) for row in cur.fetchall(): print(f"UUID: {row[0]}, Processors: {row[1]}") else: print("All jobs already have ASRX in processors") conn.close() if __name__ == '__main__': fix_processors()