For DevelopersShared Packages
Database Package (packages/db)
Drizzle ORM schema and utilities for Neon PostgreSQL.
Structure
src/schema— All enums, tables, relationssrc/utils/dbml.ts— Generates DBML and assets (consumed by server Docker build)drizzle.config.ts— CLI config: schema path, dialect, credentials fromDATABASE_URL
Schema highlights (src/schema)
- Enums from
@sharingexcess/typesfor partner types/categories, rescue/transfer types/statuses, user permissions, location hour types - Tables:
users,partners,locations,rescues,transfers,markets,location_hours,location_tags,partner_images,partner_tags - Constraints: soft-deletes on primary entities; check constraints (e.g., day_of_week in range)
- Relations declared via
relations(...)
Generation pipeline
- Server Docker build runs
bun run generate_schema_filesin this package to produce static assets: DBML/HTML/SVG under serverassets/(served at/schema*routes)
Migrations
- Managed via Drizzle Kit
pushcommands from root scripts (db_push:<env>), usingdrizzle.config.ts - Schema-first; avoid divergent migration files; use extreme caution in production