DrizzleORM v0.28.3 release
  Aug 22, 2023 
 Fixes
- Fixed sqlite-proxy and SQL.js response from .get()when the result is empty
New Features
π Added SQLite simplified query API
π Added .$defaultFn() / .$default() methods to column builders
For more information check docs for PostgreSQL, MySQL and SQLite.
You can specify any logic and any implementation for a function like cuid() for runtime defaults. Drizzle wonβt limit you in the number of implementations you can add.
Note: This value does not affect the
drizzle-kitbehavior, it is only used at runtime indrizzle-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()),
});π Added table.$inferSelect / table._.inferSelect and table.$inferInsert / table._.inferInsert for more convenient table model type inference
- π  Deprecated InferModeltype in favor of more explicitInferSelectModelandInferInsertModel
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>;- π  Disabled .d.tsfiles bundling