Я создал таблицу «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');
};