1+ CREATE TYPE "public "." usage_log_category" AS ENUM(' model' , ' fixed' );-- > statement-breakpoint
2+ CREATE TYPE "public "." usage_log_source" AS ENUM(' workflow' , ' wand' , ' copilot' );-- > statement-breakpoint
3+ CREATE TABLE "usage_log " (
4+ " id" text PRIMARY KEY NOT NULL ,
5+ " user_id" text NOT NULL ,
6+ " category" " usage_log_category" NOT NULL ,
7+ " source" " usage_log_source" NOT NULL ,
8+ " description" text NOT NULL ,
9+ " metadata" jsonb,
10+ " cost" numeric NOT NULL ,
11+ " workspace_id" text ,
12+ " workflow_id" text ,
13+ " execution_id" text ,
14+ " created_at" timestamp DEFAULT now() NOT NULL
15+ );
16+ -- > statement-breakpoint
17+ ALTER TABLE " usage_log" ADD CONSTRAINT " usage_log_user_id_user_id_fk" FOREIGN KEY (" user_id" ) REFERENCES " public" ." user" (" id" ) ON DELETE cascade ON UPDATE no action;-- > statement-breakpoint
18+ ALTER TABLE " usage_log" ADD CONSTRAINT " usage_log_workspace_id_workspace_id_fk" FOREIGN KEY (" workspace_id" ) REFERENCES " public" ." workspace" (" id" ) ON DELETE set null ON UPDATE no action;-- > statement-breakpoint
19+ ALTER TABLE " usage_log" ADD CONSTRAINT " usage_log_workflow_id_workflow_id_fk" FOREIGN KEY (" workflow_id" ) REFERENCES " public" ." workflow" (" id" ) ON DELETE set null ON UPDATE no action;-- > statement-breakpoint
20+ CREATE INDEX "usage_log_user_created_at_idx " ON " usage_log" USING btree (" user_id" ," created_at" );-- > statement-breakpoint
21+ CREATE INDEX "usage_log_source_idx " ON " usage_log" USING btree (" source" );-- > statement-breakpoint
22+ CREATE INDEX "usage_log_workspace_id_idx " ON " usage_log" USING btree (" workspace_id" );-- > statement-breakpoint
23+ CREATE INDEX "usage_log_workflow_id_idx " ON " usage_log" USING btree (" workflow_id" );
0 commit comments