javascript - 如何在 Sequelize 中读取表的列属性?

标签 javascript node.js sequelize.js

我已经通读了 documentation for Sequelize 并了解了如何使用定义,但我不知道如何从 Sequelize 定义中读取 type/allowNull/primaryKey/autoIncrement 属性。这是我由 sequelize-auto 生成的文件的一部分;

/* jshint indent: 2 */

module.exports = function(sequelize, DataTypes) {
  return sequelize.define('account', {
    id: {
      type: DataTypes.BIGINT,
      allowNull: false,
      primaryKey: true,
      autoIncrement: true
    },
    parent_account_id: {
      type: DataTypes.BIGINT,
      allowNull: false,
      references: {
        model: 'account',
        key: 'id'
      }
    },
    master_account_id: {
      type: DataTypes.BIGINT,
      allowNull: false,
      references: {
        model: 'account',
        key: 'id'
      }
    },
    name: {
      type: DataTypes.STRING,
      allowNull: false
    },
    // ...

最佳答案

注意模型和模型管理器的结构:

models: { user: user },
modelManager: ModelManager { models: [ user ], sequelize: [Circular] },

我认为它没有扩展用户,因为对象必须太大,所以我尝试了:
var userDefinition = this.orm["modelManager"].getModel("user");
if (userDefinition.attributes.id.type.key == "BIGINT") ...
[] 必须在 TypeScript 中使用,因为 modelManager 未在编译时初始化。

关于javascript - 如何在 Sequelize 中读取表的列属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43056702/

相关文章:

node.js - 如何在 Nodejs 中使用环境变量作为数据库密码?

javascript - 如果从 javascript 更改,iFrame 不显示结果

javascript - 检查元素是否包含加载和更改时的特定文本

javascript - 为什么使用自执行函数?

JavaScript:猜测密码

jquery - 如何编写 HTML 结构的 Cheerio 查询?

node.js - 使用 PostgreSQL 在 2 个独立的数据中心同步 2 个 NodeJS 实例

indexing - 使用 Sequelize 在单个迁移中创建表并添加索引

javascript - vuex 突变取代了整个状态

node.js - sequalizejs : Having dot in tableName adds double quotes to it