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

Node+PostgreSQL+Sequelize测试报错:relation 'Users'不存在

Sequelize报错:relation "Users" does not exist 解决方案

报错信息

Executing (default): INSERT INTO "Users" ("id","name","email","password_hash","admin","createdAt","updatedAt") VALUES ($1,$2,$3,$4,$5,$6,$7) RETURNING "id","name","email","password_hash","admin","createdAt","updatedAt";
node:internal/process/promises:289
            triggerUncaughtException(err, true /* fromPromise */);
            ^

Error

 name: 'SequelizeDatabaseError',
  parent: error: relation "Users" does not exist

 original: error: relation "Users" does not exist

问题分析与修复步骤

1. 数据库配置文件拼写错误

database.js中存在配置项拼写错误:freezeTimeTable应为freezeTableName,该配置用于禁止Sequelize自动将模型名复数化,拼写错误导致配置失效,模型仍在查找复数形式的Users表。

修复后的database.js:

module.exports = {
  dialect: "postgres",
  host: "localhost",
  username: "postgres",
  password: "jhschier",
  database: "jojosburger",
  define: {
    timestamps: true,
    underscore: true,
    underscoreAll: true,
    freezeTableName: true, // 修正拼写错误
  },
};

2. User模型初始化参数错误

User.js中调用super.init时,错误地将配置项拆分为两个对象传入;同时存在无用的define导入,且未显式指定表名与迁移文件匹配。

修复后的User.js:

import Sequelize, { Model } from "sequelize";

class User extends Model {
  static init(sequelize) {
    super.init(
      {
        name: Sequelize.STRING,
        email: Sequelize.STRING,
        password_hash: Sequelize.STRING,
        admin: Sequelize.BOOLEAN,
      },
      {
        sequelize,
        freezeTableName: true,
        tableName: "users", // 显式指定表名,与迁移文件一致
      }
    );
  }
}

export default User;

3. 路由优化(可选)

迁移文件中已设置id字段默认值为UUIDV4,无需手动传入id,可让数据库自动生成:

修复后的路由片段:

routes.get("/", async (request, response) => {
  const user = await User.create({
    name: "JoJo",
    email: "jhschier30@hotmail.com",
    password_hash: "123321",
    admin: true,
  });

  return response.json(user);
});

最终验证

  1. 回滚迁移(若需要):yarn sequelize db:migrate:undo
  2. 重新执行迁移:yarn sequelize db:migrate
  3. 重启项目,访问localhost:3000测试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 18:33:20