생성기

warning

ν˜„μž¬, μ§€μ›λ˜λŠ” μƒμ„±κΈ°μ—μ„œ arraySize와 isUniqueλ₯Ό ν•¨κ»˜ μ§€μ •ν•˜λ©΄ κ³ μœ ν•œ 값이 μƒμ„±λ˜λ©°(κ³ μœ ν•œ 배열이 μ•„λ‹˜), 이후 λ°°μ—΄λ‘œ νŒ¨ν‚Ήλ©λ‹ˆλ‹€.

---

default

생성기가 호좜될 λ•Œλ§ˆλ‹€ λ™μΌν•œ μ£Όμ–΄μ§„ 값을 μƒμ„±ν•©λ‹ˆλ‹€.

paramdefaulttype
defaultValueβ€”any
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  posts: {
    columns: {
      content: funcs.default({
        // value you want to generate
        defaultValue: "post content",

        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

valuesFromArray

μ£Όμ–΄μ§„ λ°°μ—΄μ—μ„œ 값을 μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
valuesβ€”any[] | { weight: number; values: any[] }[]
isUniquedatabase column uniquenessboolean
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  posts: {
    columns: {
      title: funcs.valuesFromArray({
        // Array of values you want to generate (can be an array of weighted values)
        values: ["Title1", "Title2", "Title3", "Title4", "Title5"],

        // Property that controls whether the generated values will be unique or not
        isUnique: true,
        
        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

intPrimaryKey

1λΆ€ν„° μ‹œμž‘ν•˜λŠ” 순차적인 μ •μˆ˜λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

paramdefaulttype
β€”β€”β€”
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  posts: {
    columns: {
      id: funcs.intPrimaryKey(),
    },
  },
}));

number

μ£Όμ–΄μ§„ λ²”μœ„ λ‚΄μ—μ„œ 뢀동 μ†Œμˆ˜μ μ„ κ°€μ§„ 숫자λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
isUniquedatabase column uniquenessboolean
precision100number
maxValue `precision * 1000` if isUnique equals false `precision * count` if isUnique equals truenumber
minValue-maxValuenumber
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  products: {
    columns: {
      unitPrice: funcs.number({
        // lower border of range.
        minValue: 10,

        // upper border of range.
        maxValue: 120,
        
        // precision of generated number:
        // precision equals 10 means that values will be accurate to one tenth (1.2, 34.6);
        // precision equals 100 means that values will be accurate to one hundredth (1.23, 34.67).
        precision: 100,

        // property that controls if generated values gonna be unique or not.
        isUnique: false,

        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

int

μ£Όμ–΄μ§„ λ²”μœ„ λ‚΄μ—μ„œ μ •μˆ˜λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
isUniquedatabase column uniquenessboolean
maxValue `1000` if isUnique equals false `count * 10` if isUnique equals truenumber | bigint
minValue-maxValuenumber | bigint
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  products: {
    columns: {
      unitsInStock: funcs.int({
        // lower border of range.
        minValue: 0,

        // lower border of range.
        maxValue: 100,

        // property that controls if generated values gonna be unique or not.
        isUnique: false,

        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

boolean

λΆˆλ¦¬μ–Έ κ°’(true λ˜λŠ” false)을 μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      isAvailable: funcs.boolean({
        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

date

μ£Όμ–΄μ§„ λ²”μœ„ λ‚΄μ—μ„œ λ‚ μ§œλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
minDatenew Date('2020-05-08')string | Date
maxDatenew Date('2028-05-08')string | Date
arraySizeβ€”number
IMPORTANT

λ§€κ°œλ³€μˆ˜ 쀑 ν•˜λ‚˜(minDate λ˜λŠ” maxDate)만 제곡되면, μ§€μ •λ˜μ§€ μ•Šμ€ λ§€κ°œλ³€μˆ˜λŠ” μ§€μ •λœ λ§€κ°œλ³€μˆ˜μ—μ„œ 8년을 λ”ν•˜κ±°λ‚˜ λΉΌμ„œ κ³„μ‚°λ©λ‹ˆλ‹€

import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      birthDate: funcs.date({
        // lower border of range.
        minDate: "1990-01-01",

        // upper border of range.
        maxDate: "2010-12-31",

        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

time

24μ‹œκ°„ ν˜•μ‹μ˜ μ‹œκ°„μ„ μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      birthTime: funcs.time({
        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

timestamp

νƒ€μž„μŠ€νƒ¬ν”„λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  orders: {
    columns: {
      shippedDate: funcs.timestamp({
        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

datetime

datetime 객체λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  orders: {
    columns: {
      shippedDate: funcs.datetime({
        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

year

YYYY ν˜•μ‹μ˜ 연도λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      birthYear: funcs.year({
        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

json

κ³ μ •λœ ꡬ쑰의 JSON 객체λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€

{ email, name, isGraduated, hasJob, salary, startedWorking, visitedCountries}

// or

{ email, name, isGraduated, hasJob, visitedCountries }

JSON κ΅¬μ‘°λŠ” λ¬΄μž‘μœ„λ‘œ μ„ νƒλ©λ‹ˆλ‹€

paramdefaulttype
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      metadata: funcs.json({
        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

interval

μ‹œκ°„ 간격을 μƒμ„±ν•©λ‹ˆλ‹€.

μƒμ„±λœ κ°’μ˜ 예: 1 year 12 days 5 minutes

paramdefaulttype
isUniquecolumn uniquenessboolean
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      timeSpentOnWebsite: funcs.interval({
        // `isUnique` - property that controls whether the generated values will be unique or not
        isUnique: true,

        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

string

λ¬΄μž‘μœ„ λ¬Έμžμ—΄μ„ μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
isUniqueβ€”boolean
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      hashedPassword: funcs.string({
        // `isUnique` - property that controls whether the generated values will be unique or not
        isUnique: false,
        
        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

uuid

v4 UUID λ¬Έμžμ—΄μ„ μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
arraySizeβ€”number
import { seed } from "drizzle-seed";
await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  products: {
    columns: {
      id: funcs.uuid({
        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

firstName

μ‚¬λžŒμ˜ 이름(first name)을 μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
isUniqueβ€”boolean
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      firstName: funcs.firstName({
        // `isUnique` - property that controls whether the generated values will be unique or not
        isUnique: true,

        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

lastName

μ‚¬λžŒμ˜ μ„±(last name)을 μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
isUniqueβ€”boolean
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      lastName: funcs.lastName({
        // `isUnique` - property that controls whether the generated values will be unique or not
        isUnique: false,
        
        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

fullName

μ‚¬λžŒμ˜ 전체 이름을 μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
isUniqueβ€”boolean
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      fullName: funcs.fullName({
        // `isUnique` - property that controls whether the generated values will be unique or not
        isUnique: true,

        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

email

κ³ μœ ν•œ 이메일 μ£Όμ†Œλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      email: funcs.email({
        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

phoneNumber

κ³ μœ ν•œ μ „ν™”λ²ˆν˜Έλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
templateβ€”string
prefixesUsed dataset for prefixesstring[]
generatedDigitsNumbers7 - if prefixes was definednumber | number[]
arraySizeβ€”number
import { seed } from "drizzle-seed";

//generate phone number using template property
await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      phoneNumber: funcs.phoneNumber({ 
        // `template` - phone number template, where all '#' symbols will be substituted with generated digits.
        template: "+(380) ###-####",

        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));
import { seed } from "drizzle-seed";

//generate phone number using prefixes and generatedDigitsNumbers properties
await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      phoneNumber: funcs.phoneNumber({
        // `prefixes` - array of any string you want to be your phone number prefixes.(not compatible with `template` property)
        prefixes: ["+380 99", "+380 67"],

        // `generatedDigitsNumbers` - number of digits that will be added at the end of prefixes.(not compatible with `template` property)
        generatedDigitsNumbers: 7,

        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));
import { seed } from "drizzle-seed";

// generate phone number using prefixes and generatedDigitsNumbers properties but with different generatedDigitsNumbers for prefixes
await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      phoneNumber: funcs.phoneNumber({
        // `prefixes` - array of any string you want to be your phone number prefixes.(not compatible with `template` property)
        prefixes: ["+380 99", "+380 67", "+1"],

        // `generatedDigitsNumbers` - number of digits that will be added at the end of prefixes.(not compatible with `template` property)
        generatedDigitsNumbers: [7, 7, 10],

        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

country

κ΅­κ°€ 이름을 μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
isUniqueβ€”boolean
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      country: funcs.country({
        // `isUnique` - property that controls whether the generated values will be unique or not
        isUnique: false,
        
        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

city

λ„μ‹œ 이름을 μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
isUniqueβ€”boolean
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      city: funcs.city({
        // `isUnique` - property that controls whether the generated values will be unique or not
        isUnique: false,

        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

streetAddress

λ„λ‘œ μ£Όμ†Œλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
isUniqueβ€”boolean
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      streetAddress: funcs.streetAddress({
        // `isUnique` - property that controls whether the generated values will be unique or not
        isUnique: false,
        
        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3 
      }),
    },
  },
}));

jobTitle

직업 이름을 μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      jobTitle: funcs.jobTitle({
        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

postcode

우편번호λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
isUniqueβ€”boolean
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      postcode: funcs.postcode({
        // `isUnique` - property that controls whether the generated values will be unique or not
        isUnique: true,

        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

state

λ―Έκ΅­ μ£Ό(state) 이름을 μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      state: funcs.state({
        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

companyName

λ¬΄μž‘μœ„ νšŒμ‚¬ 이름을 μƒμ„±ν•©λ‹ˆλ‹€

paramdefaulttype
isUniqueβ€”boolean
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  users: {
    columns: {
      company: funcs.companyName({ 
        // `isUnique` - property that controls whether the generated values will be unique or not
        isUnique: true,

        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

loremIpsum

lorem ipsum ν…μŠ€νŠΈ λ¬Έμž₯을 μƒμ„±ν•©λ‹ˆλ‹€.

paramdefaulttype
sentencesCount1number
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  posts: {
    columns: {
      content: funcs.loremIpsum({
        // `sentencesCount` - number of sentences you want to generate as one generated value(string).
        sentencesCount: 2,

        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

point

x 및 y μ’Œν‘œμ— λŒ€ν•΄ μ§€μ •λœ λ²”μœ„ λ‚΄μ—μ„œ 2D 포인트λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

paramdefaulttype
isUniquedatabase column uniquenessboolean
maxXValue `10 * 1000` if isUnique equals false `10 * count` if isUnique equals truenumber
minXValue-maxXValuenumber
maxYValue `10 * 1000` if isUnique equals false `10 * count` if isUnique equals truenumber
minYValue-maxYValuenumber
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  triangles: {
    columns: {
      pointCoords: funcs.point({
        // `isUnique` - property that controls if generated values gonna be unique or not.
        isUnique: true,

        // `minXValue` - lower bound of range for x coordinate.
        minXValue: -5,

        // `maxXValue` - upper bound of range for x coordinate.
        maxXValue: 20,

        // `minYValue` - lower bound of range for y coordinate.
        minYValue: 0,

        // `maxYValue` - upper bound of range for y coordinate.
        maxYValue: 30,

        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));

line

μ„ μ˜ a, b, c λ§€κ°œλ³€μˆ˜μ— λŒ€ν•΄ μ§€μ •λœ λ²”μœ„ λ‚΄μ—μ„œ 2D 선을 μƒμ„±ν•©λ‹ˆλ‹€.

line equation: a*x + b*y + c = 0
paramdefaulttype
isUniquedatabase column uniquenessboolean
maxAValue `10 * 1000` if isUnique equals false `10 * count` if isUnique equals truenumber
minAValue-maxAValuenumber
maxBValue `10 * 1000` if isUnique equals false `10 * count` if isUnique equals truenumber
minBValue-maxBValuenumber
maxCValue `10 * 1000` if isUnique equals false `10 * count` if isUnique equals truenumber
minCValue-maxCValuenumber
arraySizeβ€”number
import { seed } from "drizzle-seed";

await seed(db, schema, { count: 1000 }).refine((funcs) => ({
  lines: {
    columns: {
      lineParams: funcs.point({
        // `isUnique` - property that controls if generated values gonna be unique or not.
        isUnique: true,

        // `minAValue` - lower bound of range for a parameter.
        minAValue: -5,

        // `maxAValue` - upper bound of range for x parameter.
        maxAValue: 20,

        // `minBValue` - lower bound of range for y parameter.
        minBValue: 0,

        // `maxBValue` - upper bound of range for y parameter.
        maxBValue: 30,

        // `minCValue` - lower bound of range for y parameter.
        minCValue: 0,

        // `maxCValue` - upper bound of range for y parameter.
        maxCValue: 10,

        // number of elements in each one-dimensional array. 
        // (If specified, arrays will be generated.)
        arraySize: 3
      }),
    },
  },
}));