【问题标题】:Automatically get all table columns in a sequelize model自动获取 sequelize 模型中的所有表列
【发布时间】:2020-04-30 03:01:57
【问题描述】:

我正在学习 sequelize js,我想知道是否有一种方法可以定义模型并让它自动获取所有表列?

我们有一个庞大的数据集,我将作为模型基础的表有 200 列。即使我只需要 200 列中的 50 列,它仍然很多。

有没有办法定义模型,它会自动获取所有列的名称,而不是我手动定义每一列?类似的东西

const HugeData = db.define('likeALotOfData', {
  //get all columns 
})

如果这有什么不同,我正在使用 mssql 和乏味

谢谢

【问题讨论】:

    标签: node.js sql-server sequelize.js sequelize-cli


    【解决方案1】:

    我知道这是一个老问题,但是如果您可以像这样从 Sequelize 模型类中获取表列:

    console.log(Object.keys(MyModel.rawAttributes));
    // outputs: ['id', 'name', 'createdAt', 'updatedAt']
    

    【讨论】:

      【解决方案2】:

      嗯,您是否在查询中定义属性?我使用sequelize,如果您没有在查找查询中指定属性,它会自动获取所有列...或者您的意思是您不想将数据库中的所有列输入到模型中?如果是这样,您可以使用 sequelize-auto 为您生成该代码...我在一个单独的项目中执行此操作并将其复制并粘贴到我的模型中..

      【讨论】:

      • 感谢您的信息,我不知道 sequelize-auto。
      • 是的,它是一颗宝石,您可能需要做一些调整,但大多数情况下它是正确的!干杯
      猜你喜欢
      • 1970-01-01
      • 2020-06-25
      • 2018-09-02
      • 2016-03-07
      • 2020-08-08
      • 1970-01-01
      • 2010-11-17
      • 2023-03-08
      • 2020-08-28
      相关资源
      最近更新 更多