使用 Sequelize 验证非数据库对象是个坏主意?

Bad idea to use Sequelize to validate non-database objects?

我已经在使用 Sequelize 作为我的 ORM,而且我喜欢使用强大的内置模型验证。我正在考虑在某些没有任何实际数据库写入的情况下使用 Sequelize 作为模式验证器。换句话说,我永远不会在模型上调用 .save(),但我会调用 .validate() 来验证模型。

我是否需要做任何特别的事情来防止 sequelize 创建 table?有充分的理由不这样做并使用 express-validator 之类的东西吗?

好吧,如果我是你,我不会那样做。在我看来,问题在于首先任何人(甚至你自己在 long 运行)都很难确定模型是否是数据库 table。

其次,它会在不需要的地方创建不必要的依赖关系,如果您决定将 ORM 更改为其他模型,甚至会迫使您更改非数据库模型。

也有小几率误执行save()方法

我建议您改用 Joiclass-validator 等软件包。