05_ChangeModel
Code-Dateien
| Dateiname | Aktion |
|---|---|
| CODECode_bank.zip | Download |
| CODECode_pizza.zip | Download |
| CODECode_student.zip | Download |
Videos
| Dateiname | Aktion |
|---|---|
| VIDEOVideo_Bank_D | Abspielen |
| VIDEOVideo_Pizza_E | Abspielen |
Lernmaterialien
Change datamodel
model Student {
id Int @id @default(autoincrement())
name String
course String
email String @unique
}
NULL und UNIQUE
In einem Prisma schema bedeutet
email String? @unique
zwei Dinge:
String?
Das ? heißt: optional / nullable.
Also: email darf NULL sein (z. B. Nutzer
ohne E-Mail).
Im generierten Prisma Client wird daraus typischerweise ein Typ wie:
email: string | null(bzw. optional beim Create-Input)
@unique
@unique heißt: eindeutig, d. h. es wird
ein UNIQUE-Constraint/Index in der DB angelegt.
Wichtiges Detail (z. B. in Postgres):
@uniqueerlaubt mehrere NULL-Werte, weilNULL != NULLgilt.Also: Viele Datensätze dürfen
email = NULLhaben,aber sobald eine E-Mail gesetzt ist, darf sie nicht doppelt vorkommen.
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
generator client {
provider = "prisma-client"
runtime = "deno"
output = "./generated"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model Student {
id Int @id @default(autoincrement())
name String
course String
email String? @unique
}