Open3

Prisma + Postgres

西ゴシック西ゴシック

psql

コマンド できること
\l \l データベース一覧
\c \c mydatabase データベース切り替え
\dt \dt テーブル一覧
\d \d mytable テーブル詳細
\du \du ロール一覧
SQL できること
SELECT * FROM mytable; テーブルの中身を表示
CREATE DATABASE myapp; DBを作成
DROP TABLE mytable; テーブルを削除
DROP TABLE "UserData"; 大文字や_を含む場合
DROP TABLE IF EXISTS mytable; テーブルを削除(あれば)
ALTER TABLE users RENAME TO customers; テーブル名を変更
CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  name TEXT NOT NULL,
  email TEXT UNIQUE NOT NULL,
  created_at TIMESTAMP DEFAULT NOW()
);
西ゴシック西ゴシック

PrismaClientimportしてnew

import { PrismaClient } from "@prisma/client";
const prisma = new PrismaClient()

async function main(){
// 任意の処理
}
main()
    .catch( e => console.error(e))
    .finally(() => prisma.$disconnect()

しっかりprisma.$disconnect()で切断してあげる

const newUser = await prisma.user.create({
  data: {
      name: "foo",
      email: "foo@goodmail.co.jp"
    }
})

const users = await prisma.user.findMany()
const user = await prisma.user.findUnique({
  where: { email: "foo@goodmail.net" }
})

const updateUser = await prisma.user.update({
  where: { email: 'foo@goodmail.co.jp' },
    data: { email: 'foo@goodmail.net'}
 })

const deleteUser = await prisma.user.delete({
  where: { email: "foo@goodmail.co.jp" }
})

data内に更新したいデータを記述

西ゴシック西ゴシック
npx prisma init
npx prisma studio
npx prisma migrate dev --name init
npx prisma migrate dev --name update-xxxx
npx prisma generate
npx prisma migrate deploy
npx prisma db push
npx prisma db pull