gpt4 book ai didi

javascript - Sequelize - 如何列出/查看现有模型的所有列

转载 作者:行者123 更新时间:2023-11-29 15:16:58 24 4
gpt4 key购买 nike

我知道一个简单的答案可能是查询返回所有属性的表。

但是,由于模型是在代码中定义的,我想知道是否可以在不查询数据库的情况下获得结果?或者,如果需要查询,哪个查询是优化的?

顺便说一句,我正在使用Sequelize V5Mysql 5.7

最佳答案

您可以迭代 Model 类的 rawAttributes

for( let key in Model.rawAttributes ){
console.log('Field Name: ', key); // this is name of the field
console.log('Field Type: ', Model.rawAttributes[key].type.key); // Sequelize type of field
}

rawAttributes是字段名称,也称为列名称; rawAttributes是这些列的 Sequelize 定义,包括 properties explained in the init/define methods. ,例如typeallowNulldefaultValueunique等...

记得在之后检查rawAttributescreate any associations以及 Model 上的任何其他设置(Model.hasOne()Model.belongsTo()Model.associate() function 中的任何内容),否则属性对象不会包含外键列

旁注,在 Sequelize v4 中,Model.attributes===Model.rawAttributes,因此它们是同一事物的别名。

在 Sequelize v6+ 中,您可以使用 Model.getAttributes(), which is documented

关于javascript - Sequelize - 如何列出/查看现有模型的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59639791/

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