Ctrl K
ComunidadGuías…

migrations/035_schedule.sql

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
ALTER TABLE task_schedule RENAME TO schedule;
ALTER TABLE schedule RENAME COLUMN task_schedule_id TO schedule_id;
ALTER TABLE morning_briefing_schedule RENAME COLUMN task_schedule_id TO schedule_id;

DO $$
DECLARE
  renamed record;
BEGIN
  FOR renamed IN
    SELECT conrelid::regclass AS table_name, conname AS old_name
    FROM pg_constraint
    WHERE conrelid IN ('schedule'::regclass, 'morning_briefing_schedule'::regclass)
      AND conname LIKE '%task\_schedule%'
  LOOP
    EXECUTE format(
      'ALTER TABLE %s RENAME CONSTRAINT %I TO %I',
      renamed.table_name, renamed.old_name, replace(renamed.old_name, 'task_schedule', 'schedule')
    );
  END LOOP;

  FOR renamed IN
    SELECT indexname AS old_name
    FROM pg_indexes
    WHERE schemaname = current_schema()
      AND tablename IN ('schedule', 'morning_briefing_schedule')
      AND indexname LIKE '%task\_schedule%'
  LOOP
    EXECUTE format(
      'ALTER INDEX %I RENAME TO %I',
      renamed.old_name, replace(renamed.old_name, 'task_schedule', 'schedule')
    );
  END LOOP;
END $$;