Skip to content

pg schema

pg、mysql、sqlite 需要使用不同的“方言”

ts
import { pgTable, integer } from "drizzle-orm/pg-core";
export const users = pgTable("users", {
  id: integer(),
  first_name: varchar(),
});

schema

https://drizzle.zhcndoc.com/docs/sql-schema-declaration#模式

提示

注意,这里的 schema 是 pg 的 schema,相当于命名空间,不是 drizzle 的 schema。

ts
import { integer, pgSchema } from "drizzle-orm/pg-core";
export const customSchema = pgSchema("custom");
export const users = customSchema.table("users", {
  id: integer(),
});

复用

ts
// columns.helpers.ts
const timestamps = {
  updated_at: timestamp(),
  created_at: timestamp().defaultNow().notNull(),
  deleted_at: timestamp(),
};
ts
// users.sql.ts
export const users = pgTable("users", {
  id: integer(),
  ...timestamps,
});

使用驼峰

ts
const db = drizzle({
  connection: process.env.DATABASE_URL,
  casing: "snake_case",
});