отказ от ответственности: это из моего собственного опыта, поэтому это субъективная статья, и люди могут не соглашаться или иметь более объективное мнение по этому поводу.

Sequelize - один из самых полезных пакетов, которые я использовал после перехода на код с использованием Node.JS. Раньше я использовал Java и MyBatis как инструмент, помогающий выполнять сложные поисковые запросы. Затем я перешел на Node.JS в день, когда я уволился с моей первой работы и присоединился ко второй компании, в которой я работал. Мне нужно выбрать ORM для запроса к базе данных, потому что я не хочу использовать долгий способ написания собственных запросов и заменять все переменные теми, которые я хочу вставить. Поскольку я выбрал Express в качестве инфраструктуры Rest API, я решил использовать Sequelize в качестве ORM.

Я впервые использую ORM, поэтому я действительно не знаю структуру и то, как правильно ее использовать. Затем я поискал (конечно) в Google, как лучше всего использовать Sequelize, и обнаружил в нем кое-что интересное. Итак, вот что интересного в Sequelize

1. У Sequelize есть интерфейс командной строки.

У Sequelize есть CLI (интерфейс командной строки), где мне действительно не нужно создавать папки вручную, такие как модели, сидеры, миграции и конфигурации. Это отдельный пакет npm с основным пакетом Sequelize, поэтому я не замечаю его, пока не прочитал нижнюю часть их документации. Все, что тебе нужно сделать, это

$ npm install sequelize --save
$ npm install sequelize-cli -g --save
$ sequelize init

Затем Sequelize создает папки модели, миграции, сеялки и конфигурации. По умолчанию он будет создан в корне вашего проекта. Если я хочу указать, где должны быть папки, мне нужно только создать файл .sequelizerc в корне моего проекта. Мы также можем сгенерировать и запустить заполнение и миграцию базы данных. На мой взгляд, это очень удобно.

2. Sequelize - это только ORM

В отличие от некоторых ORM, таких как Waterline (Sails JS) или Loopback, Sequelize имеет только одну главную цель - помогать с запросами к базе данных и управлением. Раньше я использовал Sails JS Waterline, и он очень хорошо поддерживает только базовые запросы (начиная с версии 1), но его трудно использовать для более сложных запросов, которые я могу выполнить в Sequelize, возможно, потому, что он больше ориентирован на всю структуру. Я еще не пробовал другой ORM, но лично для меня Sequelize - хороший ORM, если вы на самом деле не используете какой-либо фреймворк, который включает собственную ORM, например express. Он поддерживает большинство основных баз данных SQL (Mysql, Postgresql, SQLite).

3. Очень гибкий, но простой

Что мне также понравилось в Sequelize, так это то, что он может выполнять более сложный запрос без необходимости создавать для него необработанный запрос. Несмотря на то, что некоторые сложные запросы не так просты, многие из них были простыми, например, upsert, find and count, упорядочивание на основе объединенной таблицы и т. Д. Конфигурация базы данных также проста, и я могу создать базу данных на основе среды, в которой я ее запускаю.

4. Большое сообщество

У Sequelize большое сообщество, и они очень мне помогли, когда мне нужно было что-то сделать, и я не могу найти правильный способ сделать это. Он был моим спасителем почти два года, и на любые странные вопросы, которые я задавал в Google, похоже, есть ответ в Stackoverflow или в их репозиториях на github. Я должен сказать, что это зрелая ORM (стабильная версия 5 на данный момент), которая также хорошо документирована для начала.

Заключение

Лично для меня Sequelize - очень простая ORM, и до сих пор использование ее было для меня радостью, даже несмотря на то, что у нее также есть недостатки. Это зрелая ORM с большим сообществом. Это действительно хорошая ORM, и всем, кто выбирает ORM для использования с вашим проектом Node JS, я предлагаю Sequelize как ORM, который вам необходимо рассмотреть. Спасибо :)

Ваше здоровье!