Spaces:
Runtime error
Runtime error
| CREATE TYPE "public"."sync_status" AS ENUM('idle', 'syncing', 'errored');--> statement-breakpoint | |
| CREATE TYPE "public"."video_scan_status" AS ENUM('pending', 'in_progress', 'completed', 'failed');--> statement-breakpoint | |
| CREATE TABLE "video_scan_jobs" ( | |
| "id" text PRIMARY KEY NOT NULL, | |
| "channel_id" text NOT NULL, | |
| "user_id" text NOT NULL, | |
| "status" "video_scan_status" DEFAULT 'pending' NOT NULL, | |
| "progress" integer DEFAULT 0 NOT NULL, | |
| "total_videos" integer, | |
| "scanned_videos" integer DEFAULT 0 NOT NULL, | |
| "error_message" text, | |
| "inngest_run_id" text, | |
| "created_at" timestamp (3) with time zone DEFAULT now() NOT NULL, | |
| "updated_at" timestamp (3) with time zone DEFAULT now() NOT NULL | |
| ); | |
| --> statement-breakpoint | |
| CREATE TABLE "youtube_channels" ( | |
| "id" text PRIMARY KEY NOT NULL, | |
| "creator_id" text NOT NULL, | |
| "channel_id" text NOT NULL, | |
| "channel_name" text NOT NULL, | |
| "subscriber_count" integer, | |
| "thumbnail_url" text, | |
| "connected_at" timestamp DEFAULT now() NOT NULL, | |
| "sync_status" "sync_status" DEFAULT 'idle' NOT NULL, | |
| CONSTRAINT "youtube_channels_channel_id_unique" UNIQUE("channel_id") | |
| ); | |
| --> statement-breakpoint | |
| CREATE TABLE "youtube_videos" ( | |
| "id" text PRIMARY KEY NOT NULL, | |
| "channel_id" text NOT NULL, | |
| "video_id" text NOT NULL, | |
| "title" text NOT NULL, | |
| "description" text, | |
| "thumbnail_url" text, | |
| "duration" text, | |
| "view_count" integer, | |
| "published_at" timestamp (3) with time zone, | |
| "created_at" timestamp (3) with time zone DEFAULT now() NOT NULL, | |
| "updated_at" timestamp (3) with time zone DEFAULT now() NOT NULL, | |
| CONSTRAINT "youtube_videos_video_id_unique" UNIQUE("video_id") | |
| ); | |
| --> statement-breakpoint | |
| ALTER TABLE "video_scan_jobs" ADD CONSTRAINT "video_scan_jobs_channel_id_youtube_channels_id_fk" FOREIGN KEY ("channel_id") REFERENCES "public"."youtube_channels"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint | |
| ALTER TABLE "video_scan_jobs" ADD CONSTRAINT "video_scan_jobs_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint | |
| ALTER TABLE "youtube_channels" ADD CONSTRAINT "youtube_channels_creator_id_users_id_fk" FOREIGN KEY ("creator_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint | |
| ALTER TABLE "youtube_videos" ADD CONSTRAINT "youtube_videos_channel_id_youtube_channels_id_fk" FOREIGN KEY ("channel_id") REFERENCES "public"."youtube_channels"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint | |
| CREATE UNIQUE INDEX "creator_channel_idx" ON "youtube_channels" USING btree ("creator_id","channel_id");--> statement-breakpoint | |
| CREATE UNIQUE INDEX "channel_video_idx" ON "youtube_videos" USING btree ("channel_id","video_id"); |