1+ CREATE TABLE "permission_group " (
2+ " id" text PRIMARY KEY NOT NULL ,
3+ " organization_id" text NOT NULL ,
4+ " name" text NOT NULL ,
5+ " description" text ,
6+ " config" jsonb DEFAULT ' {}' NOT NULL ,
7+ " created_by" text NOT NULL ,
8+ " created_at" timestamp DEFAULT now() NOT NULL ,
9+ " updated_at" timestamp DEFAULT now() NOT NULL
10+ );
11+ -- > statement-breakpoint
12+ CREATE TABLE "permission_group_member " (
13+ " id" text PRIMARY KEY NOT NULL ,
14+ " permission_group_id" text NOT NULL ,
15+ " user_id" text NOT NULL ,
16+ " assigned_by" text ,
17+ " assigned_at" timestamp DEFAULT now() NOT NULL
18+ );
19+ -- > statement-breakpoint
20+ ALTER TABLE " permission_group" ADD CONSTRAINT " permission_group_organization_id_organization_id_fk" FOREIGN KEY (" organization_id" ) REFERENCES " public" ." organization" (" id" ) ON DELETE cascade ON UPDATE no action;-- > statement-breakpoint
21+ ALTER TABLE " permission_group" ADD CONSTRAINT " permission_group_created_by_user_id_fk" FOREIGN KEY (" created_by" ) REFERENCES " public" ." user" (" id" ) ON DELETE cascade ON UPDATE no action;-- > statement-breakpoint
22+ ALTER TABLE " permission_group_member" ADD CONSTRAINT " permission_group_member_permission_group_id_permission_group_id_fk" FOREIGN KEY (" permission_group_id" ) REFERENCES " public" ." permission_group" (" id" ) ON DELETE cascade ON UPDATE no action;-- > statement-breakpoint
23+ ALTER TABLE " permission_group_member" ADD CONSTRAINT " permission_group_member_user_id_user_id_fk" FOREIGN KEY (" user_id" ) REFERENCES " public" ." user" (" id" ) ON DELETE cascade ON UPDATE no action;-- > statement-breakpoint
24+ ALTER TABLE " permission_group_member" ADD CONSTRAINT " permission_group_member_assigned_by_user_id_fk" FOREIGN KEY (" assigned_by" ) REFERENCES " public" ." user" (" id" ) ON DELETE set null ON UPDATE no action;-- > statement-breakpoint
25+ CREATE INDEX "permission_group_organization_id_idx " ON " permission_group" USING btree (" organization_id" );-- > statement-breakpoint
26+ CREATE INDEX "permission_group_created_by_idx " ON " permission_group" USING btree (" created_by" );-- > statement-breakpoint
27+ CREATE UNIQUE INDEX "permission_group_org_name_unique " ON " permission_group" USING btree (" organization_id" ," name" );-- > statement-breakpoint
28+ CREATE INDEX "permission_group_member_group_id_idx " ON " permission_group_member" USING btree (" permission_group_id" );-- > statement-breakpoint
29+ CREATE INDEX "permission_group_member_user_id_idx " ON " permission_group_member" USING btree (" user_id" );-- > statement-breakpoint
30+ CREATE UNIQUE INDEX "permission_group_member_unique " ON " permission_group_member" USING btree (" permission_group_id" ," user_id" );
0 commit comments