CREATE TABLE "profiles" ( "user_id" uuid PRIMARY KEY NOT NULL, "native_lang" varchar(8) NOT NULL, "target_lang" varchar(8) NOT NULL, "level" varchar(4) NOT NULL, "updated_at" timestamp with time zone DEFAULT now() NOT NULL ); --> statement-breakpoint CREATE TABLE "stories" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, "target_lang" varchar(8) NOT NULL, "level" varchar(4) NOT NULL, "title" text NOT NULL, "content" text NOT NULL, "vocab" jsonb DEFAULT '[]'::jsonb, "created_by" uuid, "created_at" timestamp with time zone DEFAULT now() NOT NULL ); --> statement-breakpoint CREATE TABLE "story_reads" ( "user_id" uuid NOT NULL, "story_id" uuid NOT NULL, "completed_at" timestamp with time zone DEFAULT now() NOT NULL, CONSTRAINT "story_reads_user_id_story_id_pk" PRIMARY KEY("user_id","story_id") ); --> statement-breakpoint CREATE TABLE "users" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, "hf_id" varchar(64) NOT NULL, "hf_username" varchar(128) NOT NULL, "email" varchar(256), "avatar_url" text, "created_at" timestamp with time zone DEFAULT now() NOT NULL, CONSTRAINT "users_hf_id_unique" UNIQUE("hf_id") ); --> statement-breakpoint CREATE TABLE "vision_jobs" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, "user_id" uuid NOT NULL, "image_url" text NOT NULL, "caption" text, "objects" jsonb, "sentences" jsonb, "created_at" timestamp with time zone DEFAULT now() NOT NULL ); --> statement-breakpoint ALTER TABLE "profiles" ADD CONSTRAINT "profiles_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "stories" ADD CONSTRAINT "stories_created_by_users_id_fk" FOREIGN KEY ("created_by") REFERENCES "public"."users"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint ALTER TABLE "story_reads" ADD CONSTRAINT "story_reads_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "story_reads" ADD CONSTRAINT "story_reads_story_id_stories_id_fk" FOREIGN KEY ("story_id") REFERENCES "public"."stories"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "vision_jobs" ADD CONSTRAINT "vision_jobs_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action;