Как исправить «необработанное отклонение SequelizeDatabaseError: отношение« ABC »не существует»? - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь получить данные из существующей базы данных postgres, в которой есть несколько таблиц. Хотя подключение к базе данных выполнено успешно, я не могу выполнить какие-либо тестовые запросы, например

Model.findAll().then(table =>{ console.log(table)}

Я попытался добавить имя схемы к определению модели, например

const Model = sequelize.define('Schema.ABC', { ....}}

, которая выдает ту же ошибку, что и заголовок

Я также пытался добавить имя схемы в запрос, но он выдает синтаксическую ошибку, и код не выполняется

Model.findAll().then('Schema.ABC' => { console.log(Schema.ABC)}

Если к таблице нужно добавить имя схемы, я также хотел бы знать, как этого добиться.

Ниже приведен фрагмент моего кода

const Model = sequelize.define('ABC',{
    CompanyName: Sequelize.STRING,
    createdAt: Sequelize.DATE,
    updatedAt: Sequelize.DATE
},
{
    // tableName: `"Schema"."ABC"`,
    freezeTableName: true
});

...
Model.removeAttribute('id');

Model.findAll().then(ABC => {
    console.log(ABC)
})

1 Ответ

0 голосов
/ 07 января 2019

Вы должны определить свою схему следующим образом, оставляя свойство tableName без комментариев:

const ABC = sequelize.define('ABC',{
    CompanyName: Sequelize.STRING,
    createdAt: Sequelize.DATE,
    updatedAt: Sequelize.DATE
  },
  {
    freezeTableName: true,
    tableName: 'ABC',
  });

И используйте это внутри асинхронной функции:

async function findAllABC() {
  await ABC.findAll().then((result) => {
    console.log(`The result is: '${result}'`);
  });
}

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