From 3666277cd5f01ba7b9557841dbec2b499d166e3f Mon Sep 17 00:00:00 2001 From: Cho Young-Hwi Date: Tue, 17 Mar 2026 09:37:19 +0000 Subject: [PATCH 1/2] [#240] Fix contract address backfill for pre-redeploy data Re-tag all existing rows from the new contract address (0x6b8d...) back to the old contract (0x05c4...) where they were actually created. Migration 00009 incorrectly defaulted to the new address. Fixes #240 Co-Authored-By: Claude Opus 4.6 (1M context) --- .../migrations/00012_fix_contract_address_backfill.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 supabase/migrations/00012_fix_contract_address_backfill.sql diff --git a/supabase/migrations/00012_fix_contract_address_backfill.sql b/supabase/migrations/00012_fix_contract_address_backfill.sql new file mode 100644 index 00000000..c4a75523 --- /dev/null +++ b/supabase/migrations/00012_fix_contract_address_backfill.sql @@ -0,0 +1,10 @@ +-- Fix contract_address on existing data: re-tag from the new contract +-- (0x6b8d...) back to the old contract (0x05c4...) where all pre-redeploy +-- data was actually created. Migration 00009 incorrectly defaulted to the +-- new address. +UPDATE storylines SET contract_address = '0x05c4d59529807316d6fa09cdaa509addfe85b474' WHERE contract_address = '0x6b8d38af1773dd162ebc6f4a8eb923f3c669605d'; +UPDATE plots SET contract_address = '0x05c4d59529807316d6fa09cdaa509addfe85b474' WHERE contract_address = '0x6b8d38af1773dd162ebc6f4a8eb923f3c669605d'; +UPDATE donations SET contract_address = '0x05c4d59529807316d6fa09cdaa509addfe85b474' WHERE contract_address = '0x6b8d38af1773dd162ebc6f4a8eb923f3c669605d'; +UPDATE ratings SET contract_address = '0x05c4d59529807316d6fa09cdaa509addfe85b474' WHERE contract_address = '0x6b8d38af1773dd162ebc6f4a8eb923f3c669605d'; +UPDATE comments SET contract_address = '0x05c4d59529807316d6fa09cdaa509addfe85b474' WHERE contract_address = '0x6b8d38af1773dd162ebc6f4a8eb923f3c669605d'; +UPDATE page_views SET contract_address = '0x05c4d59529807316d6fa09cdaa509addfe85b474' WHERE contract_address = '0x6b8d38af1773dd162ebc6f4a8eb923f3c669605d'; From 96e7a5aee19ca87d73bf33abc59394f789f3edbc Mon Sep 17 00:00:00 2001 From: Cho Young-Hwi Date: Tue, 17 Mar 2026 09:39:25 +0000 Subject: [PATCH 2/2] [#240] Scope backfill to pre-deploy data with timestamp cutoff Only re-tag rows created/indexed before 2026-03-17T09:00:00Z to avoid overwriting any legitimate new-contract data indexed after migration 00009 was deployed. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../00012_fix_contract_address_backfill.sql | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/supabase/migrations/00012_fix_contract_address_backfill.sql b/supabase/migrations/00012_fix_contract_address_backfill.sql index c4a75523..58a99ec3 100644 --- a/supabase/migrations/00012_fix_contract_address_backfill.sql +++ b/supabase/migrations/00012_fix_contract_address_backfill.sql @@ -2,9 +2,26 @@ -- (0x6b8d...) back to the old contract (0x05c4...) where all pre-redeploy -- data was actually created. Migration 00009 incorrectly defaulted to the -- new address. -UPDATE storylines SET contract_address = '0x05c4d59529807316d6fa09cdaa509addfe85b474' WHERE contract_address = '0x6b8d38af1773dd162ebc6f4a8eb923f3c669605d'; -UPDATE plots SET contract_address = '0x05c4d59529807316d6fa09cdaa509addfe85b474' WHERE contract_address = '0x6b8d38af1773dd162ebc6f4a8eb923f3c669605d'; -UPDATE donations SET contract_address = '0x05c4d59529807316d6fa09cdaa509addfe85b474' WHERE contract_address = '0x6b8d38af1773dd162ebc6f4a8eb923f3c669605d'; -UPDATE ratings SET contract_address = '0x05c4d59529807316d6fa09cdaa509addfe85b474' WHERE contract_address = '0x6b8d38af1773dd162ebc6f4a8eb923f3c669605d'; -UPDATE comments SET contract_address = '0x05c4d59529807316d6fa09cdaa509addfe85b474' WHERE contract_address = '0x6b8d38af1773dd162ebc6f4a8eb923f3c669605d'; -UPDATE page_views SET contract_address = '0x05c4d59529807316d6fa09cdaa509addfe85b474' WHERE contract_address = '0x6b8d38af1773dd162ebc6f4a8eb923f3c669605d'; +-- +-- Scoped to rows indexed/created before 2026-03-17T09:00:00Z (the time +-- migration 00009 was deployed). Any rows indexed after this cutoff on +-- the new contract are legitimate new-contract data and must not be +-- re-tagged. +UPDATE storylines SET contract_address = '0x05c4d59529807316d6fa09cdaa509addfe85b474' + WHERE contract_address = '0x6b8d38af1773dd162ebc6f4a8eb923f3c669605d' + AND indexed_at < '2026-03-17T09:00:00Z'; +UPDATE plots SET contract_address = '0x05c4d59529807316d6fa09cdaa509addfe85b474' + WHERE contract_address = '0x6b8d38af1773dd162ebc6f4a8eb923f3c669605d' + AND indexed_at < '2026-03-17T09:00:00Z'; +UPDATE donations SET contract_address = '0x05c4d59529807316d6fa09cdaa509addfe85b474' + WHERE contract_address = '0x6b8d38af1773dd162ebc6f4a8eb923f3c669605d' + AND indexed_at < '2026-03-17T09:00:00Z'; +UPDATE ratings SET contract_address = '0x05c4d59529807316d6fa09cdaa509addfe85b474' + WHERE contract_address = '0x6b8d38af1773dd162ebc6f4a8eb923f3c669605d' + AND created_at < '2026-03-17T09:00:00Z'; +UPDATE comments SET contract_address = '0x05c4d59529807316d6fa09cdaa509addfe85b474' + WHERE contract_address = '0x6b8d38af1773dd162ebc6f4a8eb923f3c669605d' + AND created_at < '2026-03-17T09:00:00Z'; +UPDATE page_views SET contract_address = '0x05c4d59529807316d6fa09cdaa509addfe85b474' + WHERE contract_address = '0x6b8d38af1773dd162ebc6f4a8eb923f3c669605d' + AND viewed_at < '2026-03-17T09:00:00Z';