Я пытаюсь создать связь между двумя таблицами, однако, похоже, некоторые проблемы возникают, когда я пытаюсь вставить свой объект в базу данных postgres. Я продолжаю получать следующую ошибку: insert or update on table "tournament" violates foreign key constraint "tournament_league_id_foreign"
. который, я думаю, связан с моим синтаксисом knex?столкнулся с нарушением внешних ключей
вставки в БД
var data = {
id: id,
name: name,
league_id: leagueId
};
var query = knex('tournament').insert(data).toString();
query += ' on conflict (id) do update set ' + knex.raw('name = ?, updated_at = now()',[name]);
knex.raw(query).catch(function(error) {
log.error(error);
})
Knex столы
knex.schema.createTable('league', function(table) {
table.increments('id').primary();
table.string('slug').unique();
table.string('name');
table.timestamp('created_at').notNullable().defaultTo(knex.raw('now()'));
table.timestamp('updated_at').notNullable().defaultTo(knex.raw('now()'));
}),
knex.schema.createTable('tournament', function(table) {
table.string('id').primary();
table.integer('league_id').unsigned().references('id').inTable('league');
table.string('name');
table.boolean('resolved');
table.timestamp('created_at').notNullable().defaultTo(knex.raw('now()'));
table.timestamp('updated_at').notNullable().defaultTo(knex.raw('now()'));
})
Что вы подразумеваете под "migrate"? – redneb
Извините за путаницу. не миграция! я редактировал вопрос –