import { drizzle } from 'drizzle-orm/postgres-js' import postgres from 'postgres' import * as schema from '../database/schema' /** * Database connection utility * * Creates a singleton Drizzle ORM instance with the complete schema. * This allows for type-safe database queries throughout the application. * * Usage: * ```typescript * import { db } from '~/server/utils/db' * * // Query with relations * const users = await db.query.users.findMany({ * with: { orders: true } * }) * * // Raw SQL with type safety * import { users } from '~/server/database/schema' * import { eq } from 'drizzle-orm' * * const user = await db.select().from(users).where(eq(users.id, userId)) * ``` */ const config = useRuntimeConfig() // Create postgres.js client const client = postgres(config.databaseUrl) // Create Drizzle ORM instance with schema export const db = drizzle(client, { schema })