我正在创建由PostgreSQL支持的rest api。我喜欢Strongloop Loopback框架,它简化了api开发。但是与sequelize相比,它的内置orm如何呢?哪些高级特性作为专用sql orm进行了序列化,这些特性在loopback中缺失了?也许继续使用sequelize会更好,并且使用一些其他的rest api助手而不是单体回环框架?
发布于 2015-04-13 02:28:44
一种意见问题,不知道它是否真的属于这里。我自己看不出ORM实现有什么不同,就RDMBS部分而言(nosql是另一回事)。我也真的不能特别为Postgres实现说话,因为不幸的是,我需要在MSSQL中使用它。不过,squelize能让你使用Hstore或json吗?想想那些你会发现在环回中缺失的东西,因为它在所有连接器上泛化了API。这是一种权衡。假设您查询RDMBS的方式与查询Mongo的方式相同。这就是说,strongloop似乎已经在这里为企业做了一个产品,所以我打赌支持应该是相当好的。
顺便说一句,我真的不知道把loopback称为一个整体框架是否准确。至少对我来说,一个整体式的框架就像Rails一样,它把你画在架构的角落里,实际上更适合于服务器渲染的内容(vs胖客户端SPA)。Loopback会自动为您生成一个与swagger兼容的Rest API,不过配置哪些路由/动词是可访问的以及ACL控制是由您自己决定的。虽然某些部分的实现是“烘焙”的,但它并不是一个整体。如果您使用的是Restful架构,那么您最终将在任何其他框架中创建所有这些路由。您仍然可以在loopback中创建您认为合适的自定义端点。Loopback的一个非常好的功能是,您可以从RDBMS中的现有/遗留集对模型定义进行逆向工程。还有一个定义同步选项(我还没有实际探索过)。查看this talk,它很好地展示了为什么环回是逻辑。
发布于 2017-07-31 19:50:00
这有点晚了,但供将来参考: Loopback不仅仅是ORM,事实上它是一个ORM + Express。你也可以单独使用loopback的ORM lib (loopback-datasource-juggler),但是它的api不像Sequelize那样直观。另一方面,对我来说,其中一个主要的区别是,Loopback能够更新现有的数据库表,而不会破坏其中的数据,如果您稍后更改模型的话。使用Sequelize,你需要手动处理它,它只在你第一次运行的时候创建表。要更新现有表,您需要删除它,然后重新创建它。希望你记得备份表格中的数据。或者手动更改表的结构。
Loopback很容易处理它的原因是,与Sequelize不同,它不会在数据库级别强制数据完整性,正如上面提到的@gurg-hackpof。
发布于 2016-08-09 23:01:01
值得注意的一件事是,Loopback不能保证引用完整性,因为它不会在DB级别强制使用外键。请参阅https://github.com/strongloop/loopback-connector-mysql/issues/135
https://stackoverflow.com/questions/29562686
复制相似问题