在React Native中配置Drizzle+Postgres时遇drizzle-ORM安装报错
解决Drizzle-Kit Push提示安装drizzle-ORM的问题
问题原因
drizzle-kit的push操作需要读取并解析数据库schema定义,而schema文件依赖drizzle-ORM包(比如pgTable、serial这类导出都来自drizzle-orm/pg-core),因此必须安装该包才能完成数据库同步——生成迁移文件时不需要,但push操作依赖ORM来识别schema结构并同步到数据库。
解决步骤
安装必要依赖
根据你的Postgres服务类型,安装drizzle-ORM和对应驱动:# 常规Postgres服务 pnpm add drizzle-orm pg # 无服务器Postgres(如Neon) # pnpm add drizzle-orm @neondatabase/serverless确认drizzle.config.ts配置正确
确保配置文件里的schema路径指向你的schema文件,且数据库连接信息无误:// drizzle.config.ts import type { Config } from "drizzle-kit"; import dotenv from "dotenv"; dotenv.config(); export default { schema: "./db/schema.ts", driver: "pg", // 用Neon则改为"pg-js" dbCredentials: { connectionString: process.env.DATABASE_URL!, }, out: "./db/migrations", } satisfies Config;检查schema.ts的导入规范
确保schema文件正确导入drizzle-orm的Postgres相关模块:// db/schema.ts import { pgTable, serial, text } from "drizzle-orm/pg-core"; // 示例表结构 export const users = pgTable("users", { id: serial("id").primaryKey(), name: text("name").notNull(), });重新执行push命令
pnpx drizzle-kit push --config=drizzle.config.ts
内容的提问来源于stack exchange,提问作者psygo
相关产品推荐
相关产品推荐

