Sequelize外键:DB中的snake_case和代码中的CamelCase。有可能吗?

Posted

技术标签:

【中文标题】Sequelize外键:DB中的snake_case和代码中的CamelCase。有可能吗?【英文标题】:Sequelize Foreign key: snake_case in DB and CamelCase in code. Does it possible? 【发布时间】:2017-03-10 22:29:13 【问题描述】:

我在我的 mysql DB 中使用 snake_case in。我在我的 JS 代码中使用 CamelCase 所以我的代码看起来像:

sequelize.define('User', 
        'UserId': 
            field: 'user_id',
        ,
        'UserName': 
            field: 'user_name',
        ,

我创建了外键:

 classMethods: 
    associate: function (models) 
        User.belongsTo(models.UserRole, 
            foreignKey: 
                name: 'user_role_id',
            
        );
    

sequelize 能否在 DB 中使用 user_role_id 在 JS 代码中使用 UserRoleId

谢谢!

【问题讨论】:

【参考方案1】:

您可以在foreignKey 对象中使用namefield 的组合

User.belongsTo(models.UserRole, 
    foreignKey: 
        name: 'UserRoleId',
        field: 'user_role_id'
    
);

【讨论】:

以上是关于Sequelize外键:DB中的snake_case和代码中的CamelCase。有可能吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在sequelize中将外键引用到另一个外键?

Sequelize - 无法添加或更新子行:外键约束失败

Sequelize.js 外键

不创建带有 Sequelize 的外键

无法通过 Node.js 中的 Sequelize 从 DB 中选择数据

带有 Sequelize 和 Typescript 的外键