Node.js Prisma
コマンド
機能 | ||
prisma migrate dev | マイグレーションファイル作成 スキーマ変更 |
prisma migrate dev --schema 〜_schema.prisma --name init |
prisma db seed | シード実行 |
prisma db seed |
モデルファイル
※〜/prisma/〜_schema.prisma
generator client {
provider = “prisma-client-js”
output = “../node_modules/.prisma/client”
}
datasource db {
provider = “mysql”
url = env(“DATABASE_URL”)
}
model Tests {
id BigInt @id
@default(autoincrement())
@db.UnsignedBigInt
test_datetime DateTime
@db.DateTime(0)
test_no Int
@db.UnsignedInt
image_file_name String
@db.VarChar(100)
is_admin Boolean
@default(false)
ins_datetime DateTime
@default(dbgenerated(“‘1000-01-01 00:00:00′”))
@db.DateTime(0)
ins_id BigInt
@default(0)
@db.UnsignedBigInt
upd_datetime DateTime
@default(dbgenerated(“‘1000-01-01 00:00:00′”))
@db.DateTime(0)
upd_id BigInt
@default(0)
@db.UnsignedBigInt
test_relations Test_relations[]
@@unique(fields: [test_no])
}
model Test_relations {
id BigInt @id
@default(autoincrement())
@db.UnsignedBigInt
test_id BigInt
@db.UnsignedBigInt
〜
tests Tests[]
@relation(fields: [test_id], references: [id])
@@index([test_id])
}
シード
import { PrismaClient } from ‘@prisma/client’
const prisma = new PrismaClient()
async function main() {
const test = await prisma.test.upsert({
where: { id: 5 },
update: {},
create: {
test_no: ‘10000’,
is_admin: true,
test_relations: {
create: {
〜: ‘10000’,
},
},
},
});
console.log({ test });
};