没有选项可以在后续模型中映射列名称

我有一个给定的数据库,长的,繁琐的列名。 没有办法将表名映射到模型中的更简短和更具描述性的propertyNames? 就像是

var Employee = sql.define('Employee', { id : {type : Sequelize.INTEGER , primaryKey: true, map : "veryLongNameForJustTheId"} },{ tableName: 'cumbersomeTableName', timestamps: false });; 

到目前为止, 我发现最好的解决scheme是使用getters和setter。

然而,它们将不会影响object.values或object.toJSON()中的结果。 如果你想使用这些,你将需要你自己的序列化方法。

 id : { field: 'some_long_name_that_is_terrible_thanks_dba_guy', type : Sequelize.INTEGER , primaryKey: true } 

指定“字段”属性…就像那样^

您可以通过提供名称作为define()调用的第一个参数来指定表名。 例如:

 var User = sequelize.define( 'a_long_cumbersone_users_table_name', { id: { type: Sequelize.INTEGER, primaryKey: true }, name: { type: Sequelize.STRING }, email: { type: Sequelize.STRING }, password: { type: Sequelize.STRING }, rememberToken: { type: Sequelize.STRING, field: 'remember_token' } }, { underscored: true, timestamps: true, createdAt: 'created_at', updatedAt: 'updated_at' } );