-- 三大 IP 支撑:文物回归状态 + 叙事路线(南迁之路 / 回归之路) -- 回归状态:domestic 国内传承 / lost_overseas 流失海外 / repatriated 已回归 / in_transit 在途 ALTER TABLE artifacts ADD COLUMN IF NOT EXISTS repatriation_status VARCHAR(30) NOT NULL DEFAULT 'domestic'; -- 叙事路线(南迁、回归等) CREATE TABLE IF NOT EXISTS narrative_routes ( id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), code VARCHAR(50) UNIQUE NOT NULL, title VARCHAR(255) NOT NULL, type VARCHAR(30) NOT NULL, -- migration(南迁)| repatriation(回归) color VARCHAR(20), summary TEXT, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); -- 路线途经点(按 seq 顺序连线) CREATE TABLE IF NOT EXISTS route_stops ( id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), route_id UUID NOT NULL REFERENCES narrative_routes(id) ON DELETE CASCADE, seq INT NOT NULL, name VARCHAR(255) NOT NULL, lng DOUBLE PRECISION NOT NULL, lat DOUBLE PRECISION NOT NULL, year_label VARCHAR(50), event TEXT ); CREATE INDEX IF NOT EXISTS idx_route_stops_route ON route_stops(route_id, seq);