Sequelize尝试查询已删除的列

时间:2017-01-12 13:33:15

标签: node.js postgresql sequelize.js

我使用sequelize迁移从我的数据库中的模型中删除了一列,即使迁移成功执行,sequelize仍在尝试查询我的Node.js应用程序中的相同字段。

这是我尝试执行的代码:

<img src="http://wallpapercave.com/wp/206q0ew.jpg" style="height:250px;">

此处查询日志输出的一部分( user_id 是已删除的列):

db.Alarm.all({ logging: console.log })
.catch(console.log)

这是 catch 输出的一部分:

Executing (default): SELECT "id", "driver_id", "dismissed_by", (...), "user_id"
FROM "alarms" AS "Alarm" WHERE "Alarm"."deleted_at" IS NULL;

我已从警报模型中删除了 user_id 字段和 belongsTo(用户)关联。我的模型对用户的唯一引用是 dismissed_by 列,可以在上面的输出中看到。我还检查了PostgreSQL中的Alarms表,确实没有 user_id 列,所以我不知道发生了什么。

更新:此问题似乎只影响外键列。我已经能够成功地从模型中添加/删除/重命名其他列,但在重命名列 dismissed_by 时遇到了同样的问题。

1 个答案:

答案 0 :(得分:0)

结果我错过了User模型中的hasMany关联(对于user_id列)。当我删除它时,它工作得很好=]