mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-24 13:54:57 +00:00
CHANGES: - Removed datasource url from schema (Prisma 7 incompatibility) - Schema lives at /dbal/shared/prisma/schema.prisma - Database URL will be provided via environment variable at runtime - Created .env.local for development (file:./prisma/dev.db) - Prisma client will create/initialize database on first connection NOTE: Prisma 7 CLI doesn't support db:push without URL in schema OR config. The solution is to let the PrismaClient adapter create the database on first connection. For local development: DATABASE_URL="file:./dbal/development/prisma/dev.db" For tests: DATABASE_URL="file::memory:" or environment-specific config Database will be automatically initialized when: 1. getDBALClient() is called with environment config 2. PrismaClient adapter connects to the URL 3. Tables are created from schema on first access Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
DBAL - Database Abstraction Layer
A language-agnostic database abstraction layer that provides a secure interface between client applications and database backends.
Structure
dbal/
├── development/ # TypeScript implementation (fast iteration)
├── production/ # C++ implementation (security & performance)
├── shared/ # Shared resources (API specs, tools, etc.)
└── docs/ # Documentation
Quick Links
- 📖 Full Documentation - Complete project documentation
- 🚀 Quick Start - Get started in 5 minutes
- 🏗️ Architecture - System architecture and design
- 🤖 Agent Guide - AI development guidelines
- 📋 Restructure Info - Recent organizational changes
- ☁️ S3 Configuration - S3 blob storage setup
Development
TypeScript (Development)
cd development
npm install
npm run build
npm test
C++ (Production)
cd production
# See production/docs/ for C++ build instructions
Shared Resources
- API Schemas:
shared/api/schema/ - Tools:
shared/tools/(codegen, build assistant) - Scripts:
shared/scripts/(build, test)
License
MIT - See LICENSE file.