📘

prismaでマイグレーション

に公開

Prisma

PrismaはNode.jsを対象としたオープンソースORMです。
型安全なデータベースアクセスが特徴で、TypeScriptとの相性が良いです。
Prismaを構成するモジュールは以下の3つです。
https://www.prisma.io/

今回は掲示板アプリようなカラムを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 = "mysql"
  url      = env("DATABASE_URL")
}


model User {
  id      Int      @id @default(autoincrement())
  email   String   @unique
  name    String?
  role    Role     @default(USER)
  profile Profile?
  thread Thread[]
}
model Profile {
  id     Int    @id @default(autoincrement())
  bio    String
  user   User   @relation(fields: [userId], references: [id])
  userId Int    @unique
}

model Thread {
  id    Int     @id @default(autoincrement())
  title String  @unique
  user   User   @relation(fields: [userId], references: [id])
  userId Int    @unique
  reatedAt  DateTime   @default(now())
  updatedAt  DateTime   @updatedAt
  threadContent  ThreadContent[]
}
model ThreadContent{
  thread Thread @relation(fields: [threadId] , references: [id])
  threadId Int @unique
  threadContent String 
}
enum Role {
  USER
  ADMIN
}

Discussion