【发布时间】:2022-06-15 23:44:34
【问题描述】:
我开始使用 Sequelize 和 SQLite。当我尝试插入或更新一个值时,它不会检查类型错误。例如,我可以在具有 sequelize.BOOLEAN 类型的列中使用 string 值。
我知道SQLite allows this,但是Sequelize呢?它没有检查还是我遗漏了什么?
我应该为每种数据类型添加验证检查吗?有没有一种简单的方法来检查类型而不是在每个模型中逐个验证?
更新
我没有太多时间找到最佳答案,因此我决定改用内置验证。 例如,为了检查值是否为布尔值,我使用了:
SOME_FIELD_VALIDATOR: {
isIn: {
args: [['true', 'false', true, false, 1, 0, '1', '0']],
msg: 'Not a valid boolean.'
}
}
这可能会减慢这个过程,但我认为这比不检查要好。
【问题讨论】:
-
你找到解决方法了吗?或者可以使用任何其他替代 ORM 来实现相同的目标。?
-
不,不是。但我更新了答案并解释了我做了什么。希望对您有所帮助。
标签: node.js sqlite sequelize.js