Ответ 1
Sequelize - довольно хороший ORM для MySQL и имеет отличную документацию. Вы можете использовать node-migrate для переноса.
Мне нужно использовать Node.js, но у него нет хорошего ORM для MySQL. Поэтому я планирую использовать SQLAlchemy для определения моей схемы. И затем используйте node -mysql для выполнения низкоуровневых запросов (конечно, я не смог бы использовать язык запросов SQLAlchemy, который был бы в python.)
Что вы, ребята, думаете?
sequelize кажется лучшим... но кажется, что многие люди его не используют. Также, как насчет миграций? Как бы я справился с этим?
node-orm также не очень активен.
Мысли об этом?
Sequelize - довольно хороший ORM для MySQL и имеет отличную документацию. Вы можете использовать node-migrate для переноса.
Мы используем Sequelize.js в нашем проекте Node, и я предполагаю, что это работает, но есть gotchas. Одним из примеров является то, что механизм запросов MySQL Sequelize использует строчную привязку к строкам SQL-строки, которую вы его кормите (this.sql.indexOf('SELECT') == 0). Это означает, что он может выйти из строя, если ваш SQL имеет строчные значения. SQL-слова обычно нечувствительны к регистру (хотя в верхнем случае по соглашению), поэтому реализация Sequelize кажется взломом.
В Sequelize с версии 1.3.0 есть поддержка миграции, но я не использовал ее, и я планирую использовать ее самостоятельно.
Я исхожу из того, что использовал ORM Ruby ActiveRecord, и в свете этого и упомянутой выше проблемы я не решаюсь рекомендовать Sequelize. К сожалению, я не знаю, какие лучшие альтернативы там.
UPDATE1: существуют другие ORM, предложенные в "Какой ORM я должен использовать для Node.js и MySQL?" .
UPDATE2: я выпустил свой код перехода Sequelize.js в Github
Я создатель js-core-data package, он по-прежнему считается бета-версией (хотя я успешно использую несколько реальных проекты). Мне бы хотелось услышать некоторые мысли и отзывы от разработчиков:)
Вы можете использовать light-orm и mysql:
Bookshelf.js также довольно хорош, но в некоторых аспектах он не является гибким. Например, вы не можете выполнить запрос SQL и преобразовать результат в модели. Итак, используйте световое оружие.
Недавно я создал mysql-orm, который теперь полностью можно использовать, хотя ему предстоит пройти долгий путь, прежде чем я полностью его довожу.
orm_options.logLevel=3
.Он использует пакет felixge/mysql на сервере, чтобы поговорить с MySQL.
По сравнению с sequelize, он требует значительно меньше кода для запуска, но также несколько менее функциональным.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я автор (в случае, если это не было очевидно)