CREATE TABLE "habit_logs" ( "id" serial PRIMARY KEY NOT NULL, "habit_id" integer NOT NULL, "logged_at" timestamp DEFAULT now() NOT NULL, "note" text ); --> statement-breakpoint CREATE TABLE "habits" ( "id" serial PRIMARY KEY NOT NULL, "user_id" integer NOT NULL, "name" text NOT NULL, "type" text DEFAULT 'neutral' NOT NULL, "target_frequency" jsonb, "color" text, "icon" text, "is_archived" boolean DEFAULT false NOT NULL, "created_at" timestamp DEFAULT now() NOT NULL, "archived_at" timestamp ); --> statement-breakpoint CREATE TABLE "users" ( "id" serial PRIMARY KEY NOT NULL, "token" text NOT NULL, "created_at" timestamp DEFAULT now() NOT NULL, CONSTRAINT "users_token_unique" UNIQUE("token") ); --> statement-breakpoint ALTER TABLE "habit_logs" ADD CONSTRAINT "habit_logs_habit_id_habits_id_fk" FOREIGN KEY ("habit_id") REFERENCES "public"."habits"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint ALTER TABLE "habits" ADD CONSTRAINT "habits_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint CREATE INDEX "habit_logs_habit_id_idx" ON "habit_logs" USING btree ("habit_id");--> statement-breakpoint CREATE INDEX "habit_logs_logged_at_idx" ON "habit_logs" USING btree ("logged_at");--> statement-breakpoint CREATE INDEX "habits_user_id_idx" ON "habits" USING btree ("user_id");