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()
);

PrismaClient
のimport
して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