Open1
Prismaのimplicit many-to-many (m-n) relationで削除した際の挙動調査

PostgreSQLを利用しています。MongoDBなど他のDBと挙動が異なる場合があるため、ご注意ください。
Schema
schema.prisma
model Post {
id Int @id @default(autoincrement())
name String
categories Category[]
}
model Category {
id Int @id @default(autoincrement())
name String
posts Post[]
}
DB
テストデータの準備
DBに手動でPostfirst post
とCategoryReact
を作成してconnectします。
作成したサンプルデータ
Postの削除
今回はidが1
のfirst postを削除し、CategoryReact
のpostsが0になることを確認します。
delete-post.js
import { PrismaClient } from "@prisma/client";
const prisma = new PrismaClient();
async function main() {
await prisma.post.delete({
where: { id: 1 },
});
console.log("done");
}
main();
削除後のDB
Postを削除したことで、Category側のPostも自動的に削除されていることが確認できました。