我正在审查node.js的各种框架,我现在正在编写一个小型CRUD应用程序来测试Sails.js。我想知道是否有一种优雅的方式来使用不同的ORM而不是一种帆包括。
我没有在Sails.js的文档中看到任何使用不同ORM的内容。尝试使用不同的ORM,是否存在我可能缺少的“集成”非特定功能?
答案 0 :(得分:1)
水线应被视为帆的核心部分。没有任何简单的方法可以用不同的ORM替换它。在Sails.js的google小组中,Mike McNeil(帆的创建者)承认Sails目前不支持交换不同的ORM [1]。
“[...]我完全愿意将Sails扩展到支持其他ORM [...]”
[1] https://groups.google.com/d/msg/sailsjs/jmR36bD-Zys/-F0ZFy1Q1IoJ
答案 1 :(得分:1)
在即将发布的S0版本的v0.10中,钩子和生成器已经分解,可以轻松替换,以支持您想要使用的ORM。
社区将能够编写ORM加载程序来替换Waterline ORM加载程序和生成器,以便为您选择的ORM生成正确格式的模型。还需要编写自定义蓝图控制器以与ORM通信。
这是很多工作,但是一旦稳定的v0.10发布就应该开始发生。
答案 2 :(得分:0)
我写了一些步骤,一直禁用整个风帆的水线(v0.10,v0.9.8):https://stackoverflow.com/a/21612024/3263412
在没有替换orm
钩子的情况下,你肯定会失去一大块Sails的功能,至少在开发生态系统粒子组织开发之前是这样的:
另一方面,我认为为node-orm2或sequelize写一个orm
钩子以及其他Sails钩子可能需要正常工作的外观并不难以置信。