【发布时间】:2022-12-11 01:10:56
【问题描述】:
我需要在数据库级别添加验证(正则表达式),以便没有人能够在现有表上输入/编辑具有无效输入的特定列。我正在使用 Sequelize,Postgres。
我浏览了其他现有链接,有人评论说验证发生在客户端,而不是数据库。您不需要为此进行迁移。
但我仍然想确认是否有可能在数据库级别添加验证。
我尝试使用迁移但仍然能够在数据库中输入无效值。我原以为在运行以下迁移后,我将无法输入/编辑输入错误但无法正常工作的该列。 在下面附上我的代码,以便您更好地理解。请帮助我清楚地理解它..
`module.exports = {
async up (queryInterface, Sequelize) {
await queryInterface.changeColumn('Table', 'Column',{
type: Sequelize.STRING,
validate: {
is: "regex pattern"
}
});
},
async down (queryInterface, Sequelize) {
await queryInterface.removeColumn('Table', 'Column');
}
};`
【问题讨论】:
标签: node.js postgresql validation sequelize.js rdbms