Schema e Modelli
Il file schema.prisma
Tutto inizia in questo file. Qui definisci la connessione al database, il generatore del client e i tuoi modelli dati.
```prisma // 1. Data Source datasource db { provider = “postgresql” // o mysql, sqlite, sqlserver url = env(“DATABASE_URL”) }
// 2. Generator generator client { provider = “prisma-client-js” }
// 3. Models model User { id Int @id @default(autoincrement()) email String @unique name String? // ? significa opzionale (nullable) posts Post[] // Relazione One-to-Many }
model Post { id Int @id @default(autoincrement()) title String content String? published Boolean @default(false) author User @relation(fields: [authorId], references: [id]) authorId Int } ```
Tipi di Dati
String: Testo variabile.Boolean: True/False.Int: Intero.BigInt: Intero grande.Float: Virgola mobile.Decimal: Decimale preciso (valuta).DateTime: Timestamp.Json: Oggetto JSON (se supportato dal DB).Bytes: Dati binari.
Attributi
@id: Chiave primaria.@default(...): Valore predefinito (autoincrement(),now(),uuid(),cuid()).@unique: Vincolo univoco.@relation: Definisce chiavi esterne.@map: Mappa il nome del campo/modello su un nome diverso nel DB (utile per legacy).