很多同学使用eggjs用sequelize会自动新增createAt、updateAt字段,我们只想使用create_at、update_at下划线形式的字段,使用下面代码可以删除驼峰字段。
module.exports = app => {
const { STRING, INTEGER, DATE } = app.Sequelize;
const Announces = app.model.define('announces', {
id: { type: INTEGER, primaryKey: true, autoIncrement: true },
title: { type: STRING, allowNull: false },
content: { type: STRING, allowNull: false },
isTop: { type: INTEGER, defaultValue: 1, field: 'is_top' },
createDate: { type: DATE, field: 'create_date' },
createBy: { type: STRING, field: 'create_by' },
updateDate: { type: DATE, field: 'update_date' }, //field 转驼峰
updateBy: { type: STRING, field: 'update_by' },
}, {
timestamps: false, //去除createAt updateAt
freezeTableName: true, 使用自定义表名
// 实例对应的表名
tableName: 'user',
// 如果需要sequelize帮你维护createdAt,updatedAt和deletedAt必须先启用timestamps功能
// 将createdAt对应到数据库的created_at字段
createdAt: 'created_at',
// 将updatedAt对应到数据库的updated_at字段
updatedAt: 'updated_at',
//And deletedAt to be called destroyTime (remember to enable paranoid for this to work)
deletedAt: false, //'deleted_at',
//删除数据时不删除数据,而是更新deleteAt字段 如果需要设置为true,则上面的deleteAt字段不能为false,也就是说必须启用
paranoid: false
});
return Announces;
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 xxx@163.com 举报,一经查实,本站将立刻删除。