CREATE TABLE "gsc_page_snapshots" (
	"site_id" text NOT NULL,
	"date" date NOT NULL,
	"page" text NOT NULL,
	"clicks" integer NOT NULL,
	"impressions" integer NOT NULL,
	"ctr" real NOT NULL,
	"position" real NOT NULL,
	CONSTRAINT "gsc_page_snapshots_site_id_date_page_pk" PRIMARY KEY("site_id","date","page")
);
--> statement-breakpoint
CREATE TABLE "gsc_query_snapshots" (
	"site_id" text NOT NULL,
	"date" date NOT NULL,
	"query" text NOT NULL,
	"clicks" integer NOT NULL,
	"impressions" integer NOT NULL,
	"ctr" real NOT NULL,
	"position" real NOT NULL,
	CONSTRAINT "gsc_query_snapshots_site_id_date_query_pk" PRIMARY KEY("site_id","date","query")
);
--> statement-breakpoint
CREATE TABLE "gsc_snapshot_runs" (
	"id" text PRIMARY KEY NOT NULL,
	"started_at" timestamp with time zone NOT NULL,
	"finished_at" timestamp with time zone,
	"sites_ok" integer DEFAULT 0 NOT NULL,
	"sites_failed" integer DEFAULT 0 NOT NULL,
	"rows_upserted" integer DEFAULT 0 NOT NULL,
	"error" text
);
--> statement-breakpoint
ALTER TABLE "gsc_page_snapshots" ADD CONSTRAINT "gsc_page_snapshots_site_id_sites_id_fk" FOREIGN KEY ("site_id") REFERENCES "public"."sites"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
ALTER TABLE "gsc_query_snapshots" ADD CONSTRAINT "gsc_query_snapshots_site_id_sites_id_fk" FOREIGN KEY ("site_id") REFERENCES "public"."sites"("id") ON DELETE cascade ON UPDATE no action;