gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 16:10:50 31 4
gpt4 key购买 nike

我正在定义一个 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
})

最佳答案

与您所做的完全一样,但属性的名称只是 field .包括外键在内的所有列都是一样的。

// 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
})

关于javascript - Sequelize - 将字段映射到模型定义中的字段别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56571134/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com