prismaを入れます
Getting started with Prisma Migrate | Prisma Documentation を参考にしました
npm install --save-dev prisma
初期化します
npx prisma init --datasource-provider sqlite
.env
と prisma/schema.prisma
が作られます
.env
は .gitignore
に入れておいたほうがいいです
prisma/schema.prisma
が
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "sqlite"
url = env("DATABASE_URL")
}
になっています
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
}
を追記して、データベースに反映していきます
自分でかかずに、他のデータからインポートするときは Prismaでsqliteのデータベースからスキーマを作る にまとめてあります
スキーマの書き方は Models | Prisma Documentation あたりを見て書きます
migrationします
npx prisma migrate dev --name init
これで prisma/migrations/20240921070138_init/migration.sql
ファイルが作らsqliteに反映されました
sqliteのデータベースファイルは ./prisma/dev.db
に作られています
sqliteつないでみるには SQLiteの使い方 を参考にしてください
prisma/schema.prisma
にmodelを増やしてみます
model User {
id Int @id @default(autoincrement())
name String
posts Post[]
}
model Post {
id Int @id @default(autoincrement())
title String
published Boolean @default(true)
authorId Int
author User @relation(fields: [authorId], references: [id])
}
npx prisma migrate dev --name add_post
これで prisma/migrations/20240921070510_add_post/migration.sql
ファイルが作られました
schema.prisma
を変更、migrate dev
でマイグレーションファイルを作っていくのが基本でよさそうです
migrationファイルを作らずに、直接データベースを変更するには
npx prisma db push
一から環境を作るときにはすべてのマイグレーションファイルを適用するには
prisma migrate deploy
Prisma clientを生成するには
npx prisma generate
データベースをリセットしたかったら
npx prisma migrate reset
最低限抑えられたかとおもいます
PR
このリンクは、アフィリエイトリンクです