0000_amused_mojo.sql 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. CREATE TABLE "billing" (
  2. "id" varchar(30) NOT NULL,
  3. "workspace_id" varchar(30) NOT NULL,
  4. "time_created" timestamp with time zone DEFAULT now() NOT NULL,
  5. "time_deleted" timestamp with time zone,
  6. "customer_id" varchar(255),
  7. "payment_method_id" varchar(255),
  8. "payment_method_last4" varchar(4),
  9. "balance" bigint NOT NULL,
  10. "reload" boolean,
  11. CONSTRAINT "billing_workspace_id_id_pk" PRIMARY KEY("workspace_id","id")
  12. );
  13. --> statement-breakpoint
  14. CREATE TABLE "payment" (
  15. "id" varchar(30) NOT NULL,
  16. "workspace_id" varchar(30) NOT NULL,
  17. "time_created" timestamp with time zone DEFAULT now() NOT NULL,
  18. "time_deleted" timestamp with time zone,
  19. "customer_id" varchar(255),
  20. "payment_id" varchar(255),
  21. "amount" bigint NOT NULL,
  22. CONSTRAINT "payment_workspace_id_id_pk" PRIMARY KEY("workspace_id","id")
  23. );
  24. --> statement-breakpoint
  25. CREATE TABLE "usage" (
  26. "id" varchar(30) NOT NULL,
  27. "workspace_id" varchar(30) NOT NULL,
  28. "time_created" timestamp with time zone DEFAULT now() NOT NULL,
  29. "time_deleted" timestamp with time zone,
  30. "request_id" varchar(255),
  31. "model" varchar(255) NOT NULL,
  32. "input_tokens" integer NOT NULL,
  33. "output_tokens" integer NOT NULL,
  34. "reasoning_tokens" integer,
  35. "cache_read_tokens" integer,
  36. "cache_write_tokens" integer,
  37. "cost" bigint NOT NULL,
  38. CONSTRAINT "usage_workspace_id_id_pk" PRIMARY KEY("workspace_id","id")
  39. );
  40. --> statement-breakpoint
  41. CREATE TABLE "user" (
  42. "id" varchar(30) NOT NULL,
  43. "workspace_id" varchar(30) NOT NULL,
  44. "time_created" timestamp with time zone DEFAULT now() NOT NULL,
  45. "time_deleted" timestamp with time zone,
  46. "email" text NOT NULL,
  47. "name" varchar(255) NOT NULL,
  48. "time_seen" timestamp with time zone,
  49. "color" integer,
  50. CONSTRAINT "user_workspace_id_id_pk" PRIMARY KEY("workspace_id","id")
  51. );
  52. --> statement-breakpoint
  53. CREATE TABLE "workspace" (
  54. "id" varchar(30) PRIMARY KEY NOT NULL,
  55. "slug" varchar(255),
  56. "name" varchar(255),
  57. "time_created" timestamp with time zone DEFAULT now() NOT NULL,
  58. "time_deleted" timestamp with time zone
  59. );
  60. --> statement-breakpoint
  61. 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
  62. 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
  63. 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
  64. 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
  65. CREATE UNIQUE INDEX "user_email" ON "user" USING btree ("workspace_id","email");--> statement-breakpoint
  66. CREATE UNIQUE INDEX "slug" ON "workspace" USING btree ("slug");