61 lines
2.1 KiB
SQL
61 lines
2.1 KiB
SQL
-- Rollback script for LNM-21-102-DEV legacy advisory backfill migration.
|
|
-- Removes backfilled observations and linksets by querying the backfill_marker field,
|
|
-- then clears the tombstone markers from advisory_raw.
|
|
--
|
|
-- Usage:
|
|
-- psql -d concelier -f ops/devops/tools/ops-scripts/rollback-lnm-backfill.sql
|
|
--
|
|
-- Environment variables:
|
|
-- DRY_RUN - if set to "1", only reports what would be deleted without making changes.
|
|
--
|
|
-- After running this script, delete the migration record:
|
|
-- DELETE FROM schema_migrations WHERE id = '20251127_lnm_legacy_backfill';
|
|
--
|
|
-- Then restart the Concelier service.
|
|
|
|
\echo ''
|
|
\echo '== LNM-21-102-DEV Backfill Rollback =='
|
|
\conninfo
|
|
|
|
-- Count backfilled observations
|
|
SELECT 'Found ' || COUNT(*) || ' backfilled observations to remove.' as status
|
|
FROM advisory_observations
|
|
WHERE backfill_marker = 'lnm_21_102_dev';
|
|
|
|
-- Count backfilled linksets
|
|
SELECT 'Found ' || COUNT(*) || ' backfilled linksets to remove.' as status
|
|
FROM advisory_linksets
|
|
WHERE backfill_marker = 'lnm_21_102_dev';
|
|
|
|
-- Count advisory_raw tombstone markers
|
|
SELECT 'Found ' || COUNT(*) || ' advisory_raw documents with tombstone markers to clear.' as status
|
|
FROM advisory_raw
|
|
WHERE backfill_marker = 'lnm_21_102_dev';
|
|
|
|
-- Only execute if not DRY_RUN
|
|
\if :{?DRY_RUN}
|
|
\echo 'DRY RUN mode - no changes made'
|
|
\echo 'Set DRY_RUN=0 or omit it to execute the rollback'
|
|
\else
|
|
-- Step 1: Delete backfilled observations
|
|
DELETE FROM advisory_observations WHERE backfill_marker = 'lnm_21_102_dev';
|
|
\echo 'Deleted observations'
|
|
|
|
-- Step 2: Delete backfilled linksets
|
|
DELETE FROM advisory_linksets WHERE backfill_marker = 'lnm_21_102_dev';
|
|
\echo 'Deleted linksets'
|
|
|
|
-- Step 3: Clear tombstone markers from advisory_raw
|
|
UPDATE advisory_raw SET backfill_marker = NULL WHERE backfill_marker = 'lnm_21_102_dev';
|
|
\echo 'Cleared tombstone markers'
|
|
\endif
|
|
|
|
\echo ''
|
|
\echo '== Rollback Summary =='
|
|
\echo ''
|
|
\echo 'Next steps:'
|
|
\echo '1. Delete the migration record:'
|
|
\echo ' DELETE FROM schema_migrations WHERE id = ''20251127_lnm_legacy_backfill'';'
|
|
\echo '2. Restart the Concelier service.'
|
|
\echo ''
|