在Sails.js中使用不同的ORM(如node-orm2)的“干净的”方法?

我正在审查node.js的各种框架,现在我正在通过编写一个小的CRUD应用程序来testingSails.js。 我想知道是否有一个优雅的方式来使用一个不同的ORM以外的风帆包括。

在Sails.js的文档中,我还没有看到使用不同的ORM。 是否有任何“集成”的非特定的function,我可能会错过尝试使用不同的ORM?

水线应该被认为是帆的核心部分。 没有任何简单的方法可以用不同的ORMreplace它。 在Sails.js的Google小组中,Mike McNeil(sails的创build者)承认,Sails目前并不支持在不同的ORM中进行交换[1]。

“[…]我完全开放努力延长帆支持其他ORMs”

[1] https://groups.google.com/d/msg/sailsjs/jmR36bD-Zys/-F0ZFy1Q1IoJ

在即将到来的v0.10版本的Sails中,钩子和生成器已经被打破,可以很容易地被replace,以支持任何你想使用的ORM。

社区将能够编写ORM装载程序来replace水线ORM装载程序和生成程序,以便以正确的格式为您select的ORM生成模型。 自定义蓝图控制器也需要写入与ORM交谈。

这是一个很大的工作,但是一旦稳定的v0.10发布之后就会开始发生。

我写了一些步骤来始终禁用整个风帆水线(v0.10,v0.9.8): https ://stackoverflow.com/a/21612024/3263412

没有更换orm钩子,你肯定会放松一大堆Sails的function,至less在生态系统particlebanana所描述的开发之前:

  • 发布订阅
  • 蓝图和rest路线(但可以轻松解决)
  • 模型脚手架
  • 自定义适配器

另一方面,我认为编写node-orm2 or sequelize的orm钩子以及其他Sails钩子可能需要正常工作的外观是不会太难以置信的。