[英]How to change default value after delete with Sequelize Model and NodeJS?
[英]How to adding default value to Sequelize model with NodeJS?
我已经创建了一个 controller 来将新值添加到数据库中,但现在我不知道如何将默认值设置为 Sequelize。 让我在下面演示我的代码
Model 用户:
module.exports = (sequelize, Sequelize) => {
const User = sequelize.define("user", {
user_id: {
type: Sequelize.STRING,
autoIncrement: true,
primaryKey: true,
},
username: {
type: Sequelize.STRING,
},
password: {
type: Sequelize.STRING,
},
full_name: {
type: Sequelize.STRING,
},
email: {
type: Sequelize.STRING,
},
role_id: {
type: Sequelize.STRING,
},
is_active: {
type: Sequelize.BOOLEAN,
},
created_date: {
type: Sequelize.DATE,
},
created_by: {
type: Sequelize.STRING,
},
updated_date: {
type: Sequelize.DATE,
},
updated_by: {
type: Sequelize.STRING,
},
});
return User;
};
Model 作用:
module.exports = (sequelize, Sequelize) => {
const Role = sequelize.define("role", {
role_id: {
type: Sequelize.STRING,
autoIncrement: true,
primaryKey: true,
},
role_name: {
type: Sequelize.STRING,
},
is_active: {
type: Sequelize.BOOLEAN,
},
created_date: {
type: Sequelize.DATE,
},
created_by: {
type: Sequelize.STRING,
},
updated_date: {
type: Sequelize.DATE,
},
updated_by: {
type: Sequelize.STRING,
},
});
return Role;
};
Controller 用户:
const db = require("../models");
const User = db.users;
exports.create = (req, res) => {
// Validate request
if (!req.body.username) {
res.status(400).send({
message: "Content can not be empty!"
});
return;
}
// Create a Tutorial
const user = {
username: req.body.username,
password: req.body.password,
full_name: req.body.full_name,
email: req.body.email,
role_id: req.body.role_id,
is_active: req.body.is_active,
created_date: req.body.created_date,
created_by: req.body.created_by,
updated_date: req.body.updated_date,
updated_by: req.body.updated_by,
};
// Save Tutorial in the database
User.create(user)
.then(data => {
res.send(data);
})
.catch(err => {
res.status(500).send({
message:
err.message || "Some error occurred while creating new User."
});
});
};
现在我需要帮助添加默认值,即每个值必须是角色是 USER 和is_active = 1
。 如果您有任何想法,请帮助我或给我一些建议,以便我可以更轻松地完成此问题。 而且,我希望你能支持这篇文章。 谢谢
您可以在迁移文件中的数据库级别定义默认值。 或者,您也可以在 model 定义本身中定义续集级别。
module.exports = (sequelize, Sequelize) => {
const User = sequelize.define("user", {
user_id: {
type: Sequelize.STRING,
autoIncrement: true,
primaryKey: true,
},
role_name: {
type: Sequelize.STRING,
defaultValue: 'USER'
},
is_active: {
type: Sequelize.BOOLEAN,
defaultValue: 1
}
});
return User;
};
https://sequelize.org/docs/v6/core-concepts/model-basics/#default-values
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.