Sequelize orm против Loopback orm

Я создаю API для отдыха, поддерживаемый PostgreSQL. Мне нравится фреймворк Strongloop Loopback, он упрощает разработку API. Но как его встроенная форма по сравнению с продолжением? Какие расширенные функции имеют продолжение в виде выделенной формы sql, которые отсутствуют в loopback? Может быть, лучше остаться с sequenceize и использовать какие-то другие вспомогательные API для отдыха, чем монолитный фреймворк loopback?


person rus1    schedule 10.04.2015    source источник


Ответы (4)


Своего рода вопрос мнения, не знаю, действительно ли он здесь. Я сам не вижу большой разницы в реализации ORM, что касается части RDMBS, так или иначе (nosql - это другая история). Я также действительно не могу говорить конкретно о реализации Postgres, поскольку мне, к сожалению, нужно использовать ее с MSSQL. Но позволяет ли squelize работать с Hstore или json? Подумайте о тех вещах, которые вам не хватает в loopback, поскольку он обобщает API для всех коннекторов. Это компромисс. Вы запрашиваете свою RDMBS так же, как, скажем, Mongo. Тем не менее, strongloop, похоже, создал продукт, ориентированный на предприятия, поэтому я бы поспорил, что поддержка должна быть довольно хорошей.

С другой стороны, я действительно не знаю, правильно ли называть петлю монолитной структурой. Для меня, по крайней мере, монолитный фреймворк будет чем-то вроде Rails, который загоняет вас в угол с точки зрения архитектуры и действительно больше ориентирован на серверный контент (по сравнению с SPA на толстых клиентах). Loopback автоматически генерирует для вас Rest API, совместимый с swagger, хотя вам решать, какие маршруты/глаголы доступны, а также элементы управления ACL. В то время как определенная реализация частей «запекается», ее вряд ли можно считать монолитной. В конечном итоге вы создадите все эти маршруты в любой другой среде, если будете использовать архитектуру Restful. Вы по-прежнему можете создавать пользовательские конечные точки в петле по своему усмотрению. Одна действительно приятная особенность Loopback заключается в том, что вы можете реконструировать определения моделей из существующих/устаревших наборов в RDBMS. Существует также вариант синхронизации определения (я еще не исследовал). Посетите почему эта логика хорошо показывает логику rel="noreferrer">.

person Wojtek    schedule 12.04.2015
comment
К сожалению, ссылка на обсуждение на YouTube не работает — пользователь закрыл свой аккаунт. Как назывался доклад, если помните, пожалуйста? - person Dan Abrey; 13.12.2016

Это довольно поздний ответ, но для будущих ссылок: Loopback - это больше, чем ORM, на самом деле это ORM + Express. Вы также можете использовать ORM-библиотеку Loopback (loopback-datasource-juggler) отдельно, но ее API не так интуитивно понятен, как Sequelize. С другой стороны, для меня одним из главных отличий было то, что Loopback может обновлять существующие таблицы базы данных, не уничтожая данные в ней, если вы позже измените свою модель. С Sequelize вам нужно обрабатывать это вручную, он создает таблицу только в первый раз, когда вы ее запускаете. Чтобы обновить существующую таблицу, вам нужно удалить ее, а затем создать заново. И, надеюсь, вы не забыли сделать резервную копию данных в таблице. Или изменить структуру таблицы вручную.

Причина, по которой Loopback легко справляется с этим, заключается в том, что, в отличие от Sequelize, он не обеспечивает целостность данных на уровне базы данных, как упоминалось выше @gurg-hackpof.

person Ahmet Cetin    schedule 31.07.2017

Стоит отметить, что Loopback НЕ гарантирует ссылочную целостность, поскольку не применяет внешние ключи на уровне БД. см. https://github.com/strongloop/loopback-connector-mysql/issues/ 135

person Gurg Hackpof    schedule 09.08.2016

В дополнение ко всему вышеперечисленному, коннекторы базы данных с замыканием на себя не обрабатывают подключения к базе данных для переключения при отказе в настройке кластера высокой доступности. Грустно :(. И их проблемы с github в эти дни не рассматриваются.

person manu bhat    schedule 07.10.2020
comment
Loopback теперь имеет LoopBack 4, поэтому проблемы в LoopBack 3 сейчас не рассматриваются, перейдите на LoopBack 4 github. com/strongloop/loopback-следующий - person pktippa; 14.06.2021