mirror of
https://github.com/aljazceru/opencode.git
synced 2025-12-20 17:24:22 +01:00
66 lines
2.9 KiB
SQL
66 lines
2.9 KiB
SQL
CREATE TABLE "billing" (
|
|
"id" varchar(30) NOT NULL,
|
|
"workspace_id" varchar(30) NOT NULL,
|
|
"time_created" timestamp with time zone DEFAULT now() NOT NULL,
|
|
"time_deleted" timestamp with time zone,
|
|
"customer_id" varchar(255),
|
|
"payment_method_id" varchar(255),
|
|
"payment_method_last4" varchar(4),
|
|
"balance" bigint NOT NULL,
|
|
"reload" boolean,
|
|
CONSTRAINT "billing_workspace_id_id_pk" PRIMARY KEY("workspace_id","id")
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "payment" (
|
|
"id" varchar(30) NOT NULL,
|
|
"workspace_id" varchar(30) NOT NULL,
|
|
"time_created" timestamp with time zone DEFAULT now() NOT NULL,
|
|
"time_deleted" timestamp with time zone,
|
|
"customer_id" varchar(255),
|
|
"payment_id" varchar(255),
|
|
"amount" bigint NOT NULL,
|
|
CONSTRAINT "payment_workspace_id_id_pk" PRIMARY KEY("workspace_id","id")
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "usage" (
|
|
"id" varchar(30) NOT NULL,
|
|
"workspace_id" varchar(30) NOT NULL,
|
|
"time_created" timestamp with time zone DEFAULT now() NOT NULL,
|
|
"time_deleted" timestamp with time zone,
|
|
"request_id" varchar(255),
|
|
"model" varchar(255) NOT NULL,
|
|
"input_tokens" integer NOT NULL,
|
|
"output_tokens" integer NOT NULL,
|
|
"reasoning_tokens" integer,
|
|
"cache_read_tokens" integer,
|
|
"cache_write_tokens" integer,
|
|
"cost" bigint NOT NULL,
|
|
CONSTRAINT "usage_workspace_id_id_pk" PRIMARY KEY("workspace_id","id")
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "user" (
|
|
"id" varchar(30) NOT NULL,
|
|
"workspace_id" varchar(30) NOT NULL,
|
|
"time_created" timestamp with time zone DEFAULT now() NOT NULL,
|
|
"time_deleted" timestamp with time zone,
|
|
"email" text NOT NULL,
|
|
"name" varchar(255) NOT NULL,
|
|
"time_seen" timestamp with time zone,
|
|
"color" integer,
|
|
CONSTRAINT "user_workspace_id_id_pk" PRIMARY KEY("workspace_id","id")
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "workspace" (
|
|
"id" varchar(30) PRIMARY KEY NOT NULL,
|
|
"slug" varchar(255),
|
|
"name" varchar(255),
|
|
"time_created" timestamp with time zone DEFAULT now() NOT NULL,
|
|
"time_deleted" timestamp with time zone
|
|
);
|
|
--> statement-breakpoint
|
|
ALTER TABLE "billing" ADD CONSTRAINT "billing_workspace_id_workspace_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."workspace"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "payment" ADD CONSTRAINT "payment_workspace_id_workspace_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."workspace"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "usage" ADD CONSTRAINT "usage_workspace_id_workspace_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."workspace"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "user" ADD CONSTRAINT "user_workspace_id_workspace_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."workspace"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
CREATE UNIQUE INDEX "user_email" ON "user" USING btree ("workspace_id","email");--> statement-breakpoint
|
|
CREATE UNIQUE INDEX "slug" ON "workspace" USING btree ("slug"); |