node.js - UnhandledPromiseRejectedWarning: SQLITE_ERROR: в таблице обуви нет столбца с именем 'color' - PullRequest
0 голосов
/ 03 апреля 2020

Я создал таблицу «shoes» с первичным ключом «id» и таблицу «color_shoes» с «id» из «Shoes» в качестве внешнего ключа, когда попытался опубликовать регистр в «color_shoes» с помощью внешнего ключа в теле моего запроса я получил эту ошибку: «UnhandledPromiseRejectedWarning: SQLITE_ERROR: у таблицы обуви нет столбца с именем 'color'"

Это функция контроллера для создания регистра в таблице "color_shoes"

module.exports = {
    async create(request, response) {
        const { color, shoe_id } = request.body;

        const color_id = crypto.randomBytes(4).toString('HEX');

        await connection('shoes').insert({
            color_id,
            color,
            shoe_id,
        });

        return response.json({ color_id });
    }
}

Это переход к таблице "color_shoes":

exports.up = function(knex) {
    return knex.schema.createTable('shoes_colors', function (table) {
        table.string('color_id').primary();
        table.string('color').notNullable();

        table.string('shoe_id').notNullable();

        table.foreign('shoe_id').references('id').inTable('shoes');
    })
};

exports.down = function(knex) {
    return knex.schema.dropTable('shoes_colors');
};

А это переход к таблице "shoes":

exports.up = function(knex) {
  return knex.schema.createTable('shoes', function (table) {
      table.string('id').primary();
      table.string('model').notNullable();
      table.string('sponsor').notNullable();
  })
};

exports.down = function(knex) {
  return knex.schema.dropTable('shoes');
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...