var Project = sequelize.define('project', {
someAttribute: {type: Sequelize.STRING, primaryKey: true },
}, {
'freezeTableName': true
});
这是一个现有数据库,其中列名以蛇案some_attribute
命名。但是,由于它是nodejs代码库,我想使用camelCase someAttribute
。
这可以用sequelize吗?
答案 0 :(得分:6)
我知道这个问题有点陈旧,只是为未来的googlers发布这个答案。
您可以使用field
属性覆盖列名称。
http://sequelize.readthedocs.org/en/latest/docs/models/
var Foo = sequelize.define('Foo', {
// You can specify a custom field name via the "field" attribute:
fieldWithUnderscores: { type: Sequelize.STRING, field: "field_with_underscores" }
})
答案 1 :(得分:0)
我认为你获得的唯一机会是覆盖模型中的getters / setter:
var Project = sequelize.define('project', {
some_attribute: {type: Sequelize.STRING, primaryKey: true },
},
// getters and setters
getterMethods: {
someAttribute: function(){return this.getDataValue("some_attribute");}
},
setterMethods: {
someAttribute: function(v){this.setDataValue("some_attribute", v);}
},
{
'freezeTableName': true
});