CarboAny / supabase /seed.sql
Esketch's picture
deploy: [P4] Strangler Pattern API Adapter Release (Orphan Clean Build v2)
daaf9d7
Raw
History Blame Contribute Delete
4.45 kB
-- Carboany Seed Data: Campaigns & Missions
-- Run: supabase db reset (applies migrations + this seed)
-- Or: psql $DATABASE_URL -f supabase/seed.sql
-- ============================================================
-- 1. Campaigns
-- ============================================================
insert into public.campaigns (id, title, description, region, start_date, end_date, target_co2_kg, status)
values
('47e3d9aa-8bc0-423c-9d5d-4e9a093eb5eb', '์ œ์ฃผ ํ…€๋ธ”๋Ÿฌ ์ฑŒ๋ฆฐ์ง€ 2026',
'์ œ์ฃผ๋„ ๋‚ด ์นดํŽ˜์—์„œ ํ…€๋ธ”๋Ÿฌ/๋‹คํšŒ์šฉ์ปต ์‚ฌ์šฉ์„ ์ธ์ฆํ•˜๋Š” ์บ ํŽ˜์ธ',
'์ œ์ฃผํŠน๋ณ„์ž์น˜๋„', '2026-04-01', null, 500, 'active'),
('a3a60fa0-b0e8-4489-a7c2-e6ec50ab34a0', 'ํ•œ๋ผ์‚ฐ ํด๋ฆฐํ•˜์ดํ‚น',
'ํ•œ๋ผ์‚ฐ ๋“ฑ๋ฐ˜ ์‹œ ์“ฐ๋ ˆ๊ธฐ ์ˆ˜๊ฑฐ ํ™œ๋™ ์ธ์ฆ',
'์ œ์ฃผํŠน๋ณ„์ž์น˜๋„', '2026-04-01', '2026-12-31', 200, 'active'),
('e0bd1d22-7109-4411-9e4a-e2ba51457c77', '์ œ์ฃผ ์—์ฝ”์นดํŽ˜ ์ธ์ฆ์ œ',
'์ œ์ฃผ ์ง€์—ญ ์—์ฝ” ์ธ์ฆ ์นดํŽ˜ ๋ฐฉ๋ฌธ ๋ฐ ํ…€๋ธ”๋Ÿฌ ํ• ์ธ ์˜์ˆ˜์ฆ ์ธ์ฆ',
'์ œ์ฃผํŠน๋ณ„์ž์น˜๋„', '2026-04-01', null, 300, 'active'),
('58433f63-e3db-4af4-80e2-28ddba1f04a4', '์„œ๊ท€ํฌ ์ž์ „๊ฑฐ ์ถœํ‡ด๊ทผ',
'์„œ๊ท€ํฌ์‹œ ์ž์ „๊ฑฐ ์ถœํ‡ด๊ทผ GPS ์ธ์ฆ ์บ ํŽ˜์ธ',
'์„œ๊ท€ํฌ์‹œ', '2026-04-01', '2026-09-30', 150, 'active')
on conflict (id) do update set
title = excluded.title,
description = excluded.description,
region = excluded.region,
start_date = excluded.start_date,
end_date = excluded.end_date,
target_co2_kg = excluded.target_co2_kg,
status = excluded.status;
-- ============================================================
-- 2. Missions (names disambiguated by proof method)
-- ============================================================
-- Key fix: "๋‹คํšŒ์šฉ์ปต ์‚ฌ์šฉ ์ธ์ฆ" + "ํ…€๋ธ”๋Ÿฌ ์‚ฌ์šฉ ์ธ์ฆ" were both receipt-type
-- in the same campaign, making them look like duplicates.
-- Now: one is photo-based, one is receipt-based, names are distinct.
insert into public.missions (id, campaign_id, title, description, proof_type, verification_method, co2_per_action_grams, daily_limit_per_user, sort_order, status)
values
-- ์ œ์ฃผ ํ…€๋ธ”๋Ÿฌ ์ฑŒ๋ฆฐ์ง€ 2026
('86cb414a-45c0-498c-bd99-8b64946c3bd2', '47e3d9aa-8bc0-423c-9d5d-4e9a093eb5eb',
'๋‹คํšŒ์šฉ์ปต ์‚ฌ์ง„ ์ธ์ฆ',
'ํ…€๋ธ”๋Ÿฌ/๋‹คํšŒ์šฉ์ปต ์‚ฌ์šฉ ์žฅ๋ฉด์„ ์‚ฌ์ง„์œผ๋กœ ์ดฌ์˜ํ•˜์—ฌ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค',
'photo', 'ai_photo', 21, 3, 1, 'active'),
('a7d4f3cf-c79e-4abf-a475-50fda743c6c2', '47e3d9aa-8bc0-423c-9d5d-4e9a093eb5eb',
'ํ…€๋ธ”๋Ÿฌ ํ• ์ธ ์˜์ˆ˜์ฆ ์ธ์ฆ',
'์นดํŽ˜์—์„œ ํ…€๋ธ”๋Ÿฌ ํ• ์ธ์ด ์ ์šฉ๋œ ์˜์ˆ˜์ฆ์„ ์ดฌ์˜ํ•˜์—ฌ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค',
'receipt', 'ocr', 21, 3, 2, 'active'),
-- ํ•œ๋ผ์‚ฐ ํด๋ฆฐํ•˜์ดํ‚น
('e024c69e-2cc8-488f-a92a-f2534d320c6c', 'a3a60fa0-b0e8-4489-a7c2-e6ec50ab34a0',
'์“ฐ๋ ˆ๊ธฐ ์ˆ˜๊ฑฐ ์ธ์ฆ',
'๋“ฑ์‚ฐ ์ค‘ ์ˆ˜๊ฑฐํ•œ ์“ฐ๋ ˆ๊ธฐ ์‚ฌ์ง„์„ ์ดฌ์˜ํ•˜์—ฌ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค',
'photo', 'ai_photo', 35, 2, 1, 'active'),
('ad4a6d46-a5ce-4cd2-9862-bfcd0cbd20ff', 'a3a60fa0-b0e8-4489-a7c2-e6ec50ab34a0',
'ํ•œ๋ผ์‚ฐ ์ •์ƒ ์ธ์ฆ',
'ํ•œ๋ผ์‚ฐ ์ •์ƒ์—์„œ GPS ์œ„์น˜๋ฅผ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค',
'gps', 'gps_fence', 50, 1, 2, 'active'),
-- ์ œ์ฃผ ์—์ฝ”์นดํŽ˜ ์ธ์ฆ์ œ
('6ff092ab-1ced-4a21-b4b5-17671fc1dbb3', 'e0bd1d22-7109-4411-9e4a-e2ba51457c77',
'์—์ฝ”์นดํŽ˜ ๋ฐฉ๋ฌธ ์ธ์ฆ',
'์—์ฝ” ์ธ์ฆ ์นดํŽ˜ ๋ฐฉ๋ฌธ ์‹œ GPS ์œ„์น˜๋ฅผ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค',
'gps', 'gps_fence', 15, 2, 1, 'active'),
('60dfb3a7-0606-4ced-bf21-8dd720f19a5f', 'e0bd1d22-7109-4411-9e4a-e2ba51457c77',
'์—์ฝ”์นดํŽ˜ ์˜์ˆ˜์ฆ ์ธ์ฆ',
'์—์ฝ”์นดํŽ˜์—์„œ ํ…€๋ธ”๋Ÿฌ ํ• ์ธ์ด ์ ์šฉ๋œ ์˜์ˆ˜์ฆ์„ ์ดฌ์˜ํ•ฉ๋‹ˆ๋‹ค',
'receipt', 'ocr', 21, 3, 2, 'active'),
-- ์„œ๊ท€ํฌ ์ž์ „๊ฑฐ ์ถœํ‡ด๊ทผ
('d599576b-5252-4dae-8abf-f6de071d7464', '58433f63-e3db-4af4-80e2-28ddba1f04a4',
'์ž์ „๊ฑฐ ์ถœ๊ทผ GPS ์ธ์ฆ',
'์ž์ „๊ฑฐ ์ถœ๊ทผ ๊ฒฝ๋กœ๋ฅผ GPS๋กœ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค',
'gps', 'gps_fence', 45, 1, 1, 'active'),
('ae22531e-3a34-45e0-9494-71ea751bf818', '58433f63-e3db-4af4-80e2-28ddba1f04a4',
'์ž์ „๊ฑฐ ํ‡ด๊ทผ GPS ์ธ์ฆ',
'์ž์ „๊ฑฐ ํ‡ด๊ทผ ๊ฒฝ๋กœ๋ฅผ GPS๋กœ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค',
'gps', 'gps_fence', 45, 1, 2, 'active')
on conflict (id) do update set
title = excluded.title,
description = excluded.description,
proof_type = excluded.proof_type,
verification_method = excluded.verification_method,
co2_per_action_grams = excluded.co2_per_action_grams,
daily_limit_per_user = excluded.daily_limit_per_user,
sort_order = excluded.sort_order;