2017-02-20 65 views
1

Я пытаюсь создать таблицу:Sequelize, установить колонки в качестве внешнего ключа таблицы из другой схемы

  queryInterface.createTable('MyTable', { 
       id: { 
        type: Sequelize.INTEGER, 
        primaryKey: true, 
        autoIncrement: true 
       }, 
       SomeTableId: { 
        type: Sequelize.INTEGER, 
        references: { model: 'static.SomeTable', key: 'id'}, 
        allowNull: false 
       }, 

      }, t); 

Проблема заключается в том, что эта ошибка возникает, когда я бегу миграции:

'Unhandled rejection SequelizeDatabaseError: relation "static.SomeTable" does not exist' 

Так, в основном, вопрос:

Когда я создаю таблицу в «общественной» схемы, как я могу указать forei gn в этой таблице, которая ссылается на таблицу в схеме 'static'.

ответ

2

Хорошо, правильный синтаксис:

queryInterface.createTable('MyTable', { 
       id: { 
        type: Sequelize.INTEGER, 
        primaryKey: true, 
        autoIncrement: true 
       }, 
       SomeTableId: { 
        type: Sequelize.INTEGER, 
        references: { 
         model: { 
          tableName: 'SomeTable', 
          schema: 'static' 
         } 
         key: 'id' 
        }, 
        allowNull: false 
       }, 

      }, t); 

И мы сделали, проблема решена :)

+1

Великий, хорошо знать об этой функции! Пытался найти ответ на пару минут, но рад, что вы его сделали :) – piotrbienias

+0

yep, не мог найти ответ на все, надеюсь, он будет полезен вовремя :) –

 Смежные вопросы

  • Нет связанных вопросов^_^