summaryrefslogtreecommitdiff
path: root/db/seeds/projects.ts
blob: 64bf317318b5e475a5122de21f6a50d6ecee6070 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// /scripts/seedProjects.ts (예시 경로)

import db from "@/db/db"
import { projects } from "@/db/schema/projects"
import { faker } from "@faker-js/faker"
import { eq } from "drizzle-orm"

async function main() {
  console.log("Seeding projects...")

  // (선택) 기존 데이터 삭제
  await db.delete(projects)

  // N개의 프로젝트 생성
  const NUM_PROJECTS = 10

  for (let i = 0; i < NUM_PROJECTS; i++) {
    // 무작위 프로젝트 코드 (ex: "P-1234")
    const projectCode = `P-${faker.number.int({ min: 1000, max: 9999 })}`
    // 무작위 프로젝트 이름 (ex: "Project" + adjective/noun)
    const projectName = `Project ${faker.word.adjective()} ${faker.word.noun()}`

    // Insert
    const [inserted] = await db
      .insert(projects)
      .values({
        code: projectCode,
        name: projectName,
      })
      .returning({ id: projects.id })

    console.log(`Inserted Project #${inserted.id}: ${projectCode} - ${projectName}`)
  }

  console.log("Seeding projects completed.")
  process.exit(0)
}

// 실행
main().catch((err) => {
  console.error(err)
  process.exit(1)
})