Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Sequelize-将字段映射到模型定义中的字段别名_Javascript_Node.js_Model_Sequelize.js - Fatal编程技术网

Javascript Sequelize-将字段映射到模型定义中的字段别名

Javascript Sequelize-将字段映射到模型定义中的字段别名,javascript,node.js,model,sequelize.js,Javascript,Node.js,Model,Sequelize.js,我正在定义一个Sequelize模型来映射数据库中现有表中的字段。但是,表中的字段名很长,对开发人员不友好 是否可以将数据库字段名称映射到模型定义中的别名,以便我的服务具有更便于开发人员使用的模型属性名称 示例: 这个 // Horrible field names module.exports = (sequelize, DataTypes) => sequelize.define('Transaction', { f_curr_finaccount__amount: Dat

我正在定义一个Sequelize模型来映射数据库中现有表中的字段。但是,表中的字段名很长,对开发人员不友好

是否可以将数据库字段名称映射到模型定义中的别名,以便我的服务具有更便于开发人员使用的模型属性名称

示例:

这个

// Horrible field names
module.exports = (sequelize, DataTypes) =>
  sequelize.define('Transaction', {
    f_curr_finaccount__amount: DataTypes.DECIMAL,
    f_curr_finaccount__tx_type: DataTypes.STRING,
    f_finaccount__currency_iso_id: DataTypes.STRING,
    f_lex_finaccount__tx_atomic_status: DataTypes.STRING
  }, {
    schema: 'fins',
    tableName: 'fins_financialaccounttransaction',
    timestamps: false
  })
…变成

// Developer-friendly field names
module.exports = (sequelize, DataTypes) =>
  sequelize.define('Transaction', {
    amount: {
      type: DataTypes.DECIMAL,
      fieldName: 'f_curr_finaccount__amount'
    },
    type: {
      type: DataTypes.STRING,
      fieldName: 'f_curr_finaccount__tx_type'
    },
    currency: {
      type: DataTypes.STRING,
      fieldName: 'f_finaccount__currency_iso_id'
    },
    status: {
      type: DataTypes.STRING,
      fieldName: 'f_lex_finaccount__tx_atomic_status'
    }
  }, {
    schema: 'fins',
    tableName: 'fins_financialaccounttransaction',
    timestamps: false
  })

与您所做的完全相同,但属性的名称只是
字段
。包括外键在内的所有列都是相同的

// Developer-friendly field names
module.exports = (sequelize, DataTypes) =>
  sequelize.define('Transaction', {
    amount: {
      type: DataTypes.DECIMAL,
      field: 'f_curr_finaccount__amount'
    },
    type: {
      type: DataTypes.STRING,
      field: 'f_curr_finaccount__tx_type'
    },
    currency: {
      type: DataTypes.STRING,
      field: 'f_finaccount__currency_iso_id'
    },
    status: {
      type: DataTypes.STRING,
      field: 'f_lex_finaccount__tx_atomic_status'
    }
  }, {
    schema: 'fins',
    tableName: 'fins_financialaccounttransaction',
    timestamps: false
  })