DrizzleORM v0.28.3 릴리스
Aug 22, 2023

수정 사항

새로운 기능

🎉 SQLite 간소화 쿼리 API 추가

🎉 컬럼 빌더에 .$defaultFn() / .$default() 메서드 추가

자세한 내용은 PostgreSQL, MySQL, SQLite 문서를 참고하세요.

런타임 기본값을 위해 cuid()와 같은 함수의 로직과 구현을 자유롭게 지정할 수 있습니다. Drizzle은 추가할 수 있는 구현의 수를 제한하지 않습니다.

참고: 이 값은 drizzle-kit 동작에 영향을 주지 않으며, drizzle-orm에서 런타임에만 사용됩니다

import { varchar, mysqlTable } from "drizzle-orm/mysql-core";
import { createId } from '@paralleldrive/cuid2';

const table = mysqlTable('table', {
	id: varchar('id', { length: 128 }).$defaultFn(() => createId()),
});

🎉 더 편리한 테이블 모델 타입 추론을 위해 table.$inferSelect / table._.inferSelecttable.$inferInsert / table._.inferInsert 추가

import { InferSelectModel, InferInsertModel } from 'drizzle-orm'

const usersTable = pgTable('users', {
  id: serial('id').primaryKey(),
  name: text('name').notNull(),
  verified: boolean('verified').notNull().default(false),
  jsonb: jsonb('jsonb').$type<string[]>(),
  createdAt: timestamp('created_at', { withTimezone: true }).notNull().defaultNow(),
});

type SelectUser = typeof usersTable.$inferSelect;
type InsertUser = typeof usersTable.$inferInsert;

type SelectUser2 = InferSelectModel<typeof usersTable>;
type InsertUser2 = InferInsertModel<typeof usersTable>;