Являются ли модели Sequelize.js такими же запросами для mySQL, как и для PostgreSQL?

0

Я работал с Sequelize и PostgreSQL раньше, но не с MySQL. Могу ли я запрашивать модели Sequelize для MySQL таким же образом, как и в PostgreSQL?

Например, будет ли этот запрос Sequelize делать то же самое в mySQL, как и в PostgreSQL?

const order = await Order.findOne({
  where: {
    userId: req.user.id,
    status: 'in-progress'
  },
  include: [
    {
      model: LineItem,
      include: [{model: Item}]
    }
  ]
})

Более простой (совершенно другой и не связанный!) Запрос от sequelize-guides.netlify.com:

const sevenYearOldPugs = await Pug.findAll({
  where: { // like saying: SELECT * from pugs WHERE age = 7;
    age: 7,
  }
})
  • 2
    Есть некоторые отличия, которые вы можете найти в документации, но для ваших примеров, да, это будет работать так же.
Теги:
sequelize.js

1 ответ

0

Да. Некоторые специальные свойства не работают для всех СУБД (например, returning и searchPath относятся только к PostgreSQL), главным образом потому, что эта функция специфична для СУБД (не является частью стандарта SQL), но вы можете найти их в документации.

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

  • 0
    Большой! Perfect @ 5ar Был ли Sequelize создан для PostgreSQL первым?
  • 0
    Насколько я знаю, нет, это всегда был ORM, предназначенный для использования в нескольких RDBMS. Я думаю, что причиной многих особенностей PostgreSQL является популярность PostgreSQL, что, в свою очередь, привело к большому вкладу в возможности PostgreSQL в Sequelize).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню