Next.js + Capacitorによるクロスプラットフォームアプリの紹介 – ⑤prismaとDBによるセッション管理

React

パッケージのインストール

npm install @prisma/client

スキーマの定義

datasource db {
  provider = "postgresql"
  url      = env("DATASOURCE_URL")
}

generator client {
  provider = "prisma-client-js"
}

model Session {
  id           String   @id @default(uuid())
  userId       Int
  user         User      @relation(fields: [userId], references: [id])
  accessToken  String
  ipAddress    String?
  userAgent    String?
  status       String?
  createdAt    DateTime  @default(now())
  updatedAt    DateTime  @updatedAt
  expiresAt    DateTime?
}

model User {
  id       Int          @id @default(autoincrement())
  email    String       @unique
  sessions Session[]
}

Prismaクライアントの生成

node_modules/@prisma/clientが生成される

prisma generate

開発環境でmigrationファイルを作成する

prisma migrate dev --name {migration_name}

本番やステージング環境へマイグレーションを反映する

prisma migrate deploy

マイグレーションを使わずにDBスキーマを取得、同期する

prisma db pull
prisma db push

関連記事

カテゴリー

アーカイブ

Lang »