dry - 在使用 JSData 和 Sequelize 时保持 DRY

标签 dry sequelize.js jsdata

JSData 是替代还是补充 Sequelize.js?

我试图了解这两个库如何一起玩以及是否应该一起玩。

从我的阅读来看,JSData 主要处理访问数据,而 Sequelize.js 将创建和修改 scema,并且还提供对对象的访问。

如果我使用 Sequelize.js,在服务器端使用 JSData 有什么意义吗?

我正在考虑在服务器端使用 Sequelize,对这些对象实现一些 REST API,并在客户端使用 JSData + JSDATA-http 来访问 REST API,但感觉我必须定义两次对象......一次用于 Sequelize,一次用于 JSData - 有什么魔法可以防止需要这样做两次吗?还是我以错误的方式思考这一切?

最佳答案

Does JSData replace or complement Sequelize.js? I am trying to understand how those two libraries can play together and if they should.



在服务器上,js-data + js-data-sql 将替换 Sequelize,类似于 js-data + js-data-mongodb 将替换 Mongoose。 js-data-sql 在后台使用 Knex.js,您可以将其用于模式迁移以及 Knex 支持的任何其他内容。对于模式验证,您可以通过 validate 将您喜欢的验证库插入 js-data生命周期钩子(Hook)(和其他地方)。

Is there any point in using JSData on the server side if I use Sequelize.js?





I am thinking to use Sequelize on the server side, implement some REST API to those objects and use JSData + JSDATA-http on the client side to access the REST API, but it feels that I will have to define the objects twice...once for Sequelize and once for JSData - is there any magic that can prevent the need to do this twice?



我实际上有在客户端使用 js-data + js-data-http 并在服务器上使用 Sequelize 的经验。你可以这样做,但是是的,你必须定义每个模型/资源两次,一次使用 Sequelize API,一次使用 js-data API。您可以通过将通用逻辑提取到服务器和客户端可以使用的“基本”模型中来减少重复。但是,如果您在服务器上使用 js-data,您可以直接在客户端中编写复杂的查询,而无需将它们转换为服务器的 ORM 可以理解的内容。

or am I thinking about all this in the wrong way?



不,你只是想了解你的选择。作为 js-data 的作者,我当然赞成 js-data + js-data-sql,但是 js-data + js-data-sql 落后于 Sequelize 的主要领域是 Sequelize 对belongsToMany (n:m) 关系和对 sql 数据类型的内置理解(验证取决于您使用 js-data)。

关于dry - 在使用 JSData 和 Sequelize 时保持 DRY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34386222/

相关文章:

database - Sequelize hasOne/hasMany 不添加 FK

javascript - 基于文件名解构sequelize模型

javascript - 如何在 JS-Data 资源上创建嵌套的自定义类操作?

javascript - js-data v3-将元信息保存在分页端点中

jsdata - JSData 中的多对多关系支持

javascript - Gulp 任务根据参数具有不同的源

symfony - symfony2 中所有页面的通用业务逻辑放置在哪里

javascript - 使用 Sequelize 计算详细记录的总和和计数

c++ - 如何让C++很好的适配DRY?

ruby-on-rails - 条件 View /布局