Proisma를 사용하여 테이블을 모두 Truncate로 만드는 방법

3982 단어 Prismatech
Foreign Key 순서를 고려하지 않았기 때문에 CASCADE가 필요합니다.
https://www.prisma.io/docs/guides/database/advanced-database-tasks/cascading-deletes/mysql#3-create-two-tables-with-a-foreign-key-and-cascade-deletion-action
const prisma = new PrismaClient({
  datasources: {
    db: { url: "あなたの DB の URL" },
  },
});

const allProperties = Object.keys(prisma);
  // 関数たちを取り除いたものがモデル名
  // 関数は全て "$" "_" 始まりなのを利用している
const modelNames = allProperties.filter(
  (x) => !(typeof x === "string" && (x.startsWith("$") || x.startsWith("_")))
);


modelNames.forEach(async (modelName: string | symbol) => {
    prisma[modelName].deleteMany();
});

좋은 웹페이지 즐겨찾기