使用 Sequelize 验证非数据库对象是个坏主意?
Bad idea to use Sequelize to validate non-database objects?
我已经在使用 Sequelize 作为我的 ORM,而且我喜欢使用强大的内置模型验证。我正在考虑在某些没有任何实际数据库写入的情况下使用 Sequelize 作为模式验证器。换句话说,我永远不会在模型上调用 .save()
,但我会调用 .validate()
来验证模型。
我是否需要做任何特别的事情来防止 sequelize 创建 table?有充分的理由不这样做并使用 express-validator
之类的东西吗?
好吧,如果我是你,我不会那样做。在我看来,问题在于首先任何人(甚至你自己在 long 运行)都很难确定模型是否是数据库 table。
其次,它会在不需要的地方创建不必要的依赖关系,如果您决定将 ORM 更改为其他模型,甚至会迫使您更改非数据库模型。
也有小几率误执行save()
方法
我建议您改用 Joi
和 class-validator
等软件包。
我已经在使用 Sequelize 作为我的 ORM,而且我喜欢使用强大的内置模型验证。我正在考虑在某些没有任何实际数据库写入的情况下使用 Sequelize 作为模式验证器。换句话说,我永远不会在模型上调用 .save()
,但我会调用 .validate()
来验证模型。
我是否需要做任何特别的事情来防止 sequelize 创建 table?有充分的理由不这样做并使用 express-validator
之类的东西吗?
好吧,如果我是你,我不会那样做。在我看来,问题在于首先任何人(甚至你自己在 long 运行)都很难确定模型是否是数据库 table。
其次,它会在不需要的地方创建不必要的依赖关系,如果您决定将 ORM 更改为其他模型,甚至会迫使您更改非数据库模型。
也有小几率误执行save()
方法
我建议您改用 Joi
和 class-validator
等软件包。