feat(db): scaffold Prisma schema with User, Profile, Preferences
Initial schema covers only the 3 base entities from PRD §8 — additional models (MealPlan, Recipe, WeightEntry, FastEvent, ShoppingList, etc.) will be added alongside their respective features. - Postgres datasource via DATABASE_URL - Enums: Role, Gender, ActivityLevel, Phase, CookingTime, FastingProtocol - Singleton PrismaClient export from @ketopath/db - Root scripts: db:generate / db:migrate / db:studio / db:seed / db:format - Seed stub at prisma/seed.ts - Ignore .claude/settings.local.json (per-user CLI permissions) The first migration must be run by the developer: pnpm db:migrate --name init Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
8625d85a87
commit
ff004cdf8d
10 files changed
+174
-3
No files matched your search
@@ -0,0 +1,13 @@
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
|
||||
const globalForPrisma = globalThis as unknown as { prisma?: PrismaClient };
|
||||
|
||||
export const prisma: PrismaClient =
|
||||
globalForPrisma.prisma ??
|
||||
new PrismaClient({
|
||||
log: process.env.NODE_ENV === 'development' ? ['warn', 'error'] : ['error'],
|
||||
});
|
||||
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
globalForPrisma.prisma = prisma;
|
||||
}
|
||||
@@ -1 +1,11 @@
|
||||
export {};
|
||||
export { prisma } from './client.js';
|
||||
export {
|
||||
ActivityLevel,
|
||||
CookingTime,
|
||||
FastingProtocol,
|
||||
Gender,
|
||||
Phase,
|
||||
Prisma,
|
||||
Role,
|
||||
} from '@prisma/client';
|
||||
export type { Preferences, Profile, User } from '@prisma/client';
|
||||
Reference in new issue
Block a user