-- Tedarikçi fiyat geçmişi (parça kodu bazlı, takip MySQL'den beslenir). -- part_price_tracks: hangi kod izleniyor (ilk seriyi API lazy-backfill yazar, -- günlük cron sadece buradaki kodları tazeler). part_price_daily: (kod, kaynak, -- gün) başına stoktaki tekliflerin p50/p95/p99'u + teklif sayısı. source şimdilik -- hep 'supplier'; perakende verisi geldiğinde aynı tabloya 'retail' olarak girer. -- Tedarikçi kimliği bilinçli olarak HİÇBİR kolonda yok. CREATE TABLE "part_price_tracks" ( "code_norm" varchar(64) PRIMARY KEY NOT NULL, "first_seen_at" timestamp with time zone DEFAULT now() NOT NULL, "backfilled_at" timestamp with time zone, "last_refreshed_at" timestamp with time zone ); --> statement-breakpoint CREATE TABLE "part_price_daily" ( "code_norm" varchar(64) NOT NULL, "source" varchar(16) DEFAULT 'supplier' NOT NULL, "date" date NOT NULL, "p50" numeric(15, 4), "p95" numeric(15, 4), "p99" numeric(15, 4), "offer_count" integer DEFAULT 0 NOT NULL, CONSTRAINT "part_price_daily_code_norm_source_date_pk" PRIMARY KEY("code_norm","source","date") ); --> statement-breakpoint CREATE INDEX "part_price_daily_code_date_idx" ON "part_price_daily" USING btree ("code_norm","date");