https://orm.drizzle.team/docs/get-started/postgresql-new
📦 <project root>
├ 📂 drizzle
└ 📂 src
└ 📂 server
└ 📂 db
│ 📜 schema.ts
└ 📜 db.ts
├ 📜 .env
├ 📜 drizzle.config.ts
├ 📜 package.json
└ 📜 tsconfig.json
pnpm add drizzle-orm pg dotenv
pnpm add -D drizzle-kit tsx @types/pg
.env 文件中设置环境变量:# postgres://<user>:<password>@<host>:<port>/<database>
DATABASE_URL="postgres://postgres:123456@localhost:5432/postgres"
src/server/db/db.ts ;将 Drizzle ORM 连接到 postgres 数据库:import 'dotenv/config'
import { drizzle } from 'drizzle-orm/node-postgres'
export const db = drizzle(process.env.DATABASE_URL!)
src/server/db/schema.ts,定义 users 表的 schema 表结构:import { serial, pgTable, varchar } from 'drizzle-orm/pg-core'
export const Users = pgTable('users', {
id: serial('user_id').primaryKey(),
name: varchar('name', { length: 50 }).notNull()
})
drizzle.config.ts:import 'dotenv/config'
import { defineConfig } from 'drizzle-kit'
export default defineConfig({
schema: './src/server/db/schema.ts',
dialect: 'postgresql',
dbCredentials: {
url: process.env.DATABASE_URL!,
},
verbose: true,
strict: true
})
npx drizzle-kit push 将变更更新到数据库:npx drizzle-kit push
npx drizzle-kit studio 启动可视化的数据库调试工具:npx drizzle-kit studio