update db

This commit is contained in:
Lakee Sivaraya
2026-01-15 10:46:11 -08:00
parent 793c888808
commit c3afbaebce
11 changed files with 10170 additions and 187 deletions

View File

@@ -0,0 +1,47 @@
DROP TABLE IF EXISTS "user_table_rows";
--> statement-breakpoint
DROP TABLE IF EXISTS "user_table_definitions";
--> statement-breakpoint
CREATE TABLE "user_table_definitions" (
"id" text PRIMARY KEY NOT NULL,
"workspace_id" text NOT NULL,
"name" text NOT NULL,
"description" text,
"schema" jsonb NOT NULL,
"max_rows" integer DEFAULT 10000 NOT NULL,
"created_by" text NOT NULL,
"created_at" timestamp DEFAULT now() NOT NULL,
"updated_at" timestamp DEFAULT now() NOT NULL
);
--> statement-breakpoint
CREATE TABLE "user_table_rows" (
"id" text PRIMARY KEY NOT NULL,
"table_id" text NOT NULL,
"workspace_id" text NOT NULL,
"data" jsonb NOT NULL,
"created_at" timestamp DEFAULT now() NOT NULL,
"updated_at" timestamp DEFAULT now() NOT NULL,
"created_by" text
);
--> statement-breakpoint
ALTER TABLE "user_table_definitions" ADD CONSTRAINT "user_table_definitions_workspace_id_workspace_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."workspace"("id") ON DELETE cascade ON UPDATE no action;
--> statement-breakpoint
ALTER TABLE "user_table_definitions" ADD CONSTRAINT "user_table_definitions_created_by_user_id_fk" FOREIGN KEY ("created_by") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action;
--> statement-breakpoint
ALTER TABLE "user_table_rows" ADD CONSTRAINT "user_table_rows_table_id_user_table_definitions_id_fk" FOREIGN KEY ("table_id") REFERENCES "public"."user_table_definitions"("id") ON DELETE cascade ON UPDATE no action;
--> statement-breakpoint
ALTER TABLE "user_table_rows" ADD CONSTRAINT "user_table_rows_workspace_id_workspace_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."workspace"("id") ON DELETE cascade ON UPDATE no action;
--> statement-breakpoint
ALTER TABLE "user_table_rows" ADD CONSTRAINT "user_table_rows_created_by_user_id_fk" FOREIGN KEY ("created_by") REFERENCES "public"."user"("id") ON DELETE set null ON UPDATE no action;
--> statement-breakpoint
CREATE INDEX "user_table_def_workspace_id_idx" ON "user_table_definitions" USING btree ("workspace_id");
--> statement-breakpoint
CREATE UNIQUE INDEX "user_table_def_workspace_name_unique" ON "user_table_definitions" USING btree ("workspace_id","name");
--> statement-breakpoint
CREATE INDEX "user_table_rows_table_id_idx" ON "user_table_rows" USING btree ("table_id");
--> statement-breakpoint
CREATE INDEX "user_table_rows_workspace_id_idx" ON "user_table_rows" USING btree ("workspace_id");
--> statement-breakpoint
CREATE INDEX "user_table_rows_data_gin_idx" ON "user_table_rows" USING gin ("data");
--> statement-breakpoint
CREATE INDEX "user_table_rows_workspace_table_idx" ON "user_table_rows" USING btree ("workspace_id","table_id");

File diff suppressed because it is too large Load Diff

View File

@@ -981,6 +981,13 @@
"when": 1768267681365,
"tag": "0140_awesome_killer_shrike",
"breakpoints": true
},
{
"idx": 141,
"version": "7",
"when": 1768502155819,
"tag": "0141_steady_moondragon",
"breakpoints": true
}
]
}

View File

@@ -2126,13 +2126,11 @@ export const userTableDefinitions = pgTable(
*/
schema: jsonb('schema').notNull(),
maxRows: integer('max_rows').notNull().default(10000),
rowCount: integer('row_count').notNull().default(0),
createdBy: text('created_by')
.notNull()
.references(() => user.id, { onDelete: 'cascade' }),
createdAt: timestamp('created_at').notNull().defaultNow(),
updatedAt: timestamp('updated_at').notNull().defaultNow(),
deletedAt: timestamp('deleted_at'),
},
(table) => ({
workspaceIdIdx: index('user_table_def_workspace_id_idx').on(table.workspaceId),
@@ -2140,7 +2138,6 @@ export const userTableDefinitions = pgTable(
table.workspaceId,
table.name
),
deletedAtIdx: index('user_table_def_deleted_at_idx').on(table.deletedAt),
})
)

View File

@@ -23,6 +23,7 @@ export function createMockSqlOperators() {
gte: vi.fn((a, b) => ({ type: 'gte', left: a, right: b })),
lt: vi.fn((a, b) => ({ type: 'lt', left: a, right: b })),
lte: vi.fn((a, b) => ({ type: 'lte', left: a, right: b })),
count: vi.fn((column) => ({ type: 'count', column })),
and: vi.fn((...conditions) => ({ type: 'and', conditions })),
or: vi.fn((...conditions) => ({ type: 'or', conditions })),
not: vi.fn((condition) => ({ type: 'not', condition })),