node.js - 无法识别的数据类型 Sequelize Postgres

标签 node.js postgresql sequelize.js

在一个小项目中工作,我需要根据一些日志数据填充 postgres 数据库。我决定使用 Sequelize 来创建我的模型和数据库连接。

尝试调用 SignalDegs.create() 插入记录时,我收到以下错误消息。我试图引用 DataTypes 并导入它而不是 Sequalize 直接导致相同的错误。任何帮助将不胜感激!。

错误:

throw new Error(`Unrecognized datatype for attribute "${this.name}.${name}"`);
        ^
Error: Unrecognized datatype for attribute 

模型文件:
const Sequelize = require('sequelize');
const db = require('../database/index.js');

const SignalDefs = db.define(
  'signaldefs',
  {
    signalType: { primaryKey: true, type: Sequelize.STRING },
    messageSource: { primaryKey: true, type: Sequelize.STRING },
    messageName: { primaryKey: true, type: Sequelize.STRING },
    signalName: { primaryKey: true, type: Sequelize.STRING },
    unit: { primaryKey: true, type: Sequelize.STRING },
    signalID: { autoIncrement: true }
  },
  { freezeTableName: true }
);

const FloatSignals = db.define(
  'floatsignals',
  {
    floatValue: { type: Sequelize.FLOAT },
    time: { primaryKey: true, type: Sequelize.DATE },
    vehicleID: { primaryKey: true, type: Sequelize.INTEGER },
    signal: { primaryKey: true, type: Sequelize.INTEGER }
  },
  { freezeTableName: true }
);

module.exports = { SignalDefs, FloatSignals };

最佳答案

  • 您没有为 signalID 字段设置类型
  • 确定要让signaldefs 模型的几乎所有字段都参与主键吗?
  • 关于node.js - 无法识别的数据类型 Sequelize Postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60177449/

    相关文章:

    node.js - 如何在 React Native 中引入 Node Events 模块

    mysql - 从一个表中获取所有行的列表,满足两个不同表中的多个条件

    javascript - 在nodejs中的async wait函数之后返回响应

    node.js - 使用 html-pdf 创建 pdf 时出错

    node.js - 如何使用nodemon运行ECMAScript(mjs文件)?

    sql - 在不同条件下两次检索同一列

    sql - 时间戳间隔的 Postgres 语法错误

    postgresql - 在 postgresql 中提取周数的匹配年份

    node.js - 使用 sequelize 更新数据

    javascript - 为什么sequelize.findOne() 没有返回结果,而我可以看到结果在我的数据库中