You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在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结构并同步到数据库。

解决步骤

  1. 安装必要依赖
    根据你的Postgres服务类型,安装drizzle-ORM和对应驱动:

    # 常规Postgres服务
    pnpm add drizzle-orm pg
    # 无服务器Postgres(如Neon)
    # pnpm add drizzle-orm @neondatabase/serverless
    
  2. 确认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;
    
  3. 检查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(),
    });
    
  4. 重新执行push命令

    pnpx drizzle-kit push --config=drizzle.config.ts
    

内容的提问来源于stack exchange,提问作者psygo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 04:12:07