Node.js не имеет хорошего ORM для управления схемой / миграциями MySQL ... так что я могу использовать SQLAlchemy для управления этим? - PullRequest
16 голосов
/ 23 ноября 2011

Мне нужно использовать Node.js, но у него нет хорошего ORM для MySQL.Поэтому я планирую использовать SQLAlchemy для определения моей схемы.А затем используйте node-mysql для выполнения низкоуровневых запросов (конечно, я бы не смог использовать язык запросов SQLAlchemy, потому что он в python.)

Что вы, ребята, думаете?

продолжение кажется лучшим ... но не похоже, что многие люди используют его.А как насчет миграций?Как бы я справился с этим?

node-orm тоже не очень активен.

Мысли об этом?

Ответы [ 3 ]

9 голосов
/ 23 ноября 2011

Sequelize довольно хороший ORM для MySQL и имеет отличную документацию. Вы можете использовать node-migrate для миграции.

5 голосов
/ 11 июля 2012

Мы используем Sequelize.js в нашем проекте Node, и я полагаю, что это делает свою работу, но есть ошибки. Одним из примеров является то, что механизм запросов MySQL Sequelize выполняет сопоставление чувствительных к регистру строк в строке SQL, которую вы передаете (this.sql.indexOf ('SELECT') == 0). Это означает, что он может потерпеть неудачу, если ваш SQL окажется в нижнем регистре. Ключевые слова SQL обычно нечувствительны к регистру (хотя в верхнем регистре по соглашению), поэтому реализация Sequelize кажется хаком.

Начиная с версии 1.3.0, в Sequelize есть поддержка миграции, но я не использовал ее, и вместо этого планирую использовать свою собственную.

Я пришел из-за того, что использовал Ruby ActiveRecord ORM, и в свете этого и упомянутого выше недочета я не решаюсь рекомендовать Sequelize. К сожалению, я не знаю, какие есть лучшие альтернативы.

ОБНОВЛЕНИЕ1: есть другие ORM, предложенные в «Какой ORM мне следует использовать для Node.js и MySQL?» .

ОБНОВЛЕНИЕ2: я выпустил свой код миграции Sequelize.js на Github

0 голосов
/ 30 января 2014

Вы можете использовать light-orm и mysql :

  1. https://npmjs.org/package/light-orm - Обертка ORM
  2. https://npmjs.org/package/mysql - Драйвер

Bookshelf.js также довольно хорош, но, в некоторых аспектах, не гибкий.Например, вы не можете выполнить запрос SQL и преобразовать результат в модель.Итак, используйте light-orm.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...