04_DatabaseMigrate
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
Database migrate
Echtdaten
Daten mit einer negativen id sind Testdaten und werden über seed.ts erzeugt!
Daten mit einer positiven id sind Echtdaten und gehören übernommen!
sqlite3 student.db
SQLite version 3.45.1 2024-01-30 16:01:20
Enter ".help" for usage hints.
sqlite> .headers on
sqlite> .mode csv
sqlite> .output export.csv
sqlite> SELECT * FROM Student WHERE id >= 0;
sqlite> .quit
Postgres Server
docker run --name postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres
docker ps
docker stop postgres
docker start postgres
!!! Wenn schon auf der postgres Daten vorhanden sind gehören diese gelöscht!
deno.json
"tasks": {
...
"prisma:reset": "deno -A prisma migrate reset"
},deno task prisma:reset
Visual Studio Code
.env
# DATABASE_URL="file:../student.db"
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/studentdb"
// 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 {
...
}
deno task pmd
deno task pms
deno task seed
Echtdaten
psql "postgresql://postgres:postgres@localhost:5432/studentdb"
\copy "Student"(id, name, course) FROM 'export.csv' WITH (FORMAT csv, HEADER true, DELIMITER ',' , QUOTE '"', ESCAPE '"');
\q
l
psql "postgresql://postgres:postgres@localhost:5432/studentdb"
ALTER SEQUENCE "Student_id_seq" RESTART WITH 1000;