SPB Git

spb/cancerindex

Public
880 B · 24 lines typescript
1import { timestamp, varchar, customType } from 'drizzle-orm/pg-core';23export const createdAt = () => timestamp('created_at', { withTimezone: true }).notNull().defaultNow();4export const updatedAt = () => timestamp('updated_at', { withTimezone: true }).notNull().defaultNow();56/** Public CancerIndex identifier column (CI-CAN-00000001 …). */7export const ciId = (name = 'id') => varchar(name, { length: 32 });89/** pgvector column (embedding model is stored alongside, never mix models in one column without it). */10export const vector = customType<{ data: number[]; driverData: string; config: { dimensions: number } }>({11  dataType(config) {12    return `vector(${config?.dimensions ?? 1536})`;13  },14  toDriver(value) {15    return `[${value.join(',')}]`;16  },17  fromDriver(value) {18    return value19      .slice(1, -1)20      .split(',')21      .map((v) => Number(v));22  },23});24
Files · 5765e240ff3ddc5f1b0f6004708bff8adff4a4b3
Menu

Theme