32 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
| 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"); |