Ошибка Failed to open the referenced table

244
03 января 2021, 12:40

Не получается настроить references в MySQL, не понимаю что делаю не правильно

Orders

 'use strict';
        module.exports = {
          up: (queryInterface, Sequelize) => {
            return queryInterface.createTable('Orders', {
              id: {
                type: Sequelize.CHAR
              },
              storeId: {
                type: Sequelize.INTEGER,
                references: {
                  model: 'Stores',
                  key: 'id'
                }
              },
              createdAt: {
                allowNull: false,
                type: Sequelize.DATE
              },
              updatedAt: {
                allowNull: false,
                type: Sequelize.DATE
              }
            });
          },
          down: (queryInterface, Sequelize) => {
            return queryInterface.dropTable('Orders');
          }
        };

Store

'use strict';
module.exports = {
  up: (queryInterface, Sequelize) => {
    return queryInterface.createTable('Stores', {
      id: {
        allowNull: false,
        autoIncrement: true,
        primaryKey: true,
        type: Sequelize.INTEGER
      },
      login: {
        type: Sequelize.CHAR
      },
      uuid: {
        type: Sequelize.CHAR
      },
      createdAt: {
        allowNull: false,
        type: Sequelize.DATE
      },
      updatedAt: {
        allowNull: false,
        type: Sequelize.DATE
      }
    });
  },
  down: (queryInterface, Sequelize) => {
    return queryInterface.dropTable('Stores');
  }
};
Answer 1

Да, судя по комментарию, таблицы Stores еще нет, когда создается Orders, вижу, что миграция называется 20190522143914-create-orders, вот временная метка 20190522143914, посмотрите, у Stores метка временная должна быть раньше, чтобы все правильно привязалось.

Либо в одной миграции используйте конструкцию .then после создания таблицы Stores

READ ALSO
relation does not exist

relation does not exist

3-й день мучаюсь с данной проблемойНа heroku имеется БД MySQL

147
Как заменить текст в подключаемом со стороннего сайта js?

Как заменить текст в подключаемом со стороннего сайта js?

Имеется виджет статуса заказов, подключающийся к сайту на WordPress следующим кодом

95