我正在使用Nodejs和Sequelize。这是我的用户模型的结构:
"use strict";
module.exports = function(sequelize, DataTypes) {
var User = sequelize.define('user', {
first_name: {
type: DataTypes.STRING,
allowNull: false,
},
last_name: {
type: DataTypes.STRING,
allowNull: false,
},
email: {
type: DataTypes.STRING,
allowNull: false,
unique: true,
validate: {
isUnique: function (email, done) {
User.find({ where: { email: email }})
.done(function (err, user) {
if (err) {
done(err);
}
if (user) {
done(new Error('Email already registered'));
}
done();
});
}
}
},
profile_image_path: {
type: DataTypes.STRING,
allowNull: true,
},
active_flag: {
type: DataTypes.BOOLEAN,
allowNull: true,
defaultValue: true
},
delete_flag: {
type: DataTypes.BOOLEAN,
allowNull: true,
defaultValue: false
}
}, {
classMethods: {
associate: function(models) {
User.hasMany(models.account),
User.hasMany(models.user_has_contact)
}
}
});
return User;
};
默认情况下会创建3列:
- id
- createdAt
- updatedAt
我不想使用 createdAt
和 updatedAt
这种格式,我想要的是 created_at
和 updated_at
。如何更改这些默认列名?
我有另一个表格 user_has_contact
,它具有以下关系:
{
classMethods: {
associate: function(models) {
UserHasContact.belongsTo(models.user)
}
}
}
它会自动创建
userId
字段,但我想将其更改为user_id
。欢迎提出任何建议!
foreignKey: 'user_id'
,我是否也需要创建user_id
列? - Manwalsequelize.sync
),就不需要手动创建表了。 - Jan Aagaard Meier