Files
metabuilder/prisma/README.md
2025-12-25 12:32:52 +00:00

104 lines
2.0 KiB
Markdown

# Prisma Database Configuration
This directory contains the Prisma database schema and migrations.
## 📋 Files
- `schema.prisma` - Database schema definition
- `migrations/` - Database migration history
## 🚀 Quick Start
### Generate Prisma Client
```bash
npm run db:generate
```
Regenerate the Prisma client after schema changes.
### Apply Migrations
```bash
npm run db:push
```
Apply pending schema changes to database.
### View Database
```bash
npm run db:studio
```
Opens Prisma Studio for visual database management.
## 📝 Database Schema
Key entities defined in `schema.prisma`:
- **User** - System users with permission levels
- **Tenant** - Multi-tenant support
- **Package** - Feature packages
- **Schema** - Dynamic data schemas
- **Data** - JSON data storage
- **LuaScript** - Business logic scripts
- **Audit** - Activity logging
### User Levels
```prisma
enum PermissionLevel {
GUEST // Level 1 (read-only)
USER // Level 2
ADMIN // Level 3
GOD // Level 4
SUPERGOD // Level 5 (system admin)
}
```
### Sample Table
```prisma
model User {
id String @id @default(cuid())
email String @unique
password String // SHA-512 hash
level PermissionLevel
tenantId String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
tenant Tenant @relation(fields: [tenantId], references: [id])
}
```
## 🔒 Security
- All passwords stored as SHA-512 hashes
- Multi-tenant data isolation
- Permission-based access control
- Type-safe database queries
## 📚 Migrations
Migration files track schema changes:
```bash
# List migrations
ls migrations/
# Create new migration
npx prisma migrate dev --name add_feature
# Reset database (dev only!)
npx prisma migrate reset
```
## 🔗 Related
- [Database Architecture](../docs/architecture/database.md)
- [API Development](../docs/guides/api-development.md)
- [Security Guidelines](../docs/SECURITY.md)
- [Getting Started](../docs/guides/getting-started.md)