ES

@core / db

1.0.0 ▾
verificadoMIT
GitHub

Postgres con Drizzle: cliente compartido, esquemas por módulo, transacciones e IDs ULID

Código8 archivosContexto~547 tokensescaneo superado

El árbol exacto que se inyectará, tras aplicar .genpmignore. Anclado a

src/lib/db/columns.tssolo lectura · 28d4b9f
// Columnas estándar para que todas las tablas de todos los módulos se parezcan.
import { text, timestamp } from 'drizzle-orm/pg-core';
import { newId } from './ulid.js';

/** Clave primaria `text` con ULID prefijado generado en la app: `id: primaryId('usr')`. */
export const primaryId = (prefix: string) =>
  text('id')
    .primaryKey()
    .$defaultFn(() => newId(prefix));

/** `created_at` / `updated_at` con zona horaria; `updated_at` se actualiza solo en cada `update()`. */
export const timestamps = {
  createdAt: timestamp('created_at', { withTimezone: true, mode: 'date' }).notNull().defaultNow(),
  updatedAt: timestamp('updated_at', { withTimezone: true, mode: 'date' })
    .notNull()
    .defaultNow()
    .$onUpdateFn(() => new Date()),
};

Reportar @core/db

Inicia sesión con GitHub para reportar un paquete.