32 lines
1.9 KiB
MySQL
32 lines
1.9 KiB
MySQL
|
|
CREATE TABLE "portal_auth_tokens" (
|
||
|
|
"id" text PRIMARY KEY NOT NULL,
|
||
|
|
"portal_user_id" text NOT NULL,
|
||
|
|
"token_hash" text NOT NULL,
|
||
|
|
"type" text NOT NULL,
|
||
|
|
"expires_at" timestamp with time zone NOT NULL,
|
||
|
|
"used_at" timestamp with time zone,
|
||
|
|
"created_at" timestamp with time zone DEFAULT now() NOT NULL
|
||
|
|
);
|
||
|
|
--> statement-breakpoint
|
||
|
|
CREATE TABLE "portal_users" (
|
||
|
|
"id" text PRIMARY KEY NOT NULL,
|
||
|
|
"port_id" text NOT NULL,
|
||
|
|
"client_id" text NOT NULL,
|
||
|
|
"email" text NOT NULL,
|
||
|
|
"password_hash" text,
|
||
|
|
"name" text,
|
||
|
|
"is_active" boolean DEFAULT true NOT NULL,
|
||
|
|
"last_login_at" timestamp with time zone,
|
||
|
|
"created_by" text NOT NULL,
|
||
|
|
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
||
|
|
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
|
||
|
|
);
|
||
|
|
--> statement-breakpoint
|
||
|
|
ALTER TABLE "portal_auth_tokens" ADD CONSTRAINT "portal_auth_tokens_portal_user_id_portal_users_id_fk" FOREIGN KEY ("portal_user_id") REFERENCES "public"."portal_users"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||
|
|
ALTER TABLE "portal_users" ADD CONSTRAINT "portal_users_port_id_ports_id_fk" FOREIGN KEY ("port_id") REFERENCES "public"."ports"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
||
|
|
ALTER TABLE "portal_users" ADD CONSTRAINT "portal_users_client_id_clients_id_fk" FOREIGN KEY ("client_id") REFERENCES "public"."clients"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||
|
|
CREATE UNIQUE INDEX "idx_portal_tokens_hash_unique" ON "portal_auth_tokens" USING btree ("token_hash");--> statement-breakpoint
|
||
|
|
CREATE INDEX "idx_portal_tokens_user" ON "portal_auth_tokens" USING btree ("portal_user_id");--> statement-breakpoint
|
||
|
|
CREATE UNIQUE INDEX "idx_portal_users_email_unique" ON "portal_users" USING btree ("email");--> statement-breakpoint
|
||
|
|
CREATE INDEX "idx_portal_users_client" ON "portal_users" USING btree ("client_id");--> statement-breakpoint
|
||
|
|
CREATE INDEX "idx_portal_users_port" ON "portal_users" USING btree ("port_id");
|