приличное количество таблиц, и данные, убивать fk не хочется, смотрел в сторону DEFERRED получается загнать данные в большую транзакцию. Может есть какие-то best practices в данном вопросе?
Заранее спасибо.
Откуда и куда мигрировать?
в ТЗ этим занимается back у него есть импорт экспорт.
дропаешь все FK, заливаешь данные (с принудительной вставкой в автоинкрементные поля), создаёшь FK обратно. А, да, так же лучше поступить и с индексами.
Вот и пусть занимается.
т.е. самый простой сценарий это убить и потом восстановить fk?
А вы с fk то пробовали?
Это типичное решение при заливке готовых данных
увы, да. так как таблиц не мало, нужна последовательность, но back на входе не знает исходную структуру СУБД.
Может в PSQL есть какой-то механизм, который просто на время отключит fk?
Есть. ALter table AAA drop foreign key BBB
т.е. убить fk
Я чёт не понимаю, если у тебя перенос с оракла, то у тебя и не должно быть сущестующий FK
Ну и в чём проблема ?
Есть но это хак set session_replication_role = replica;
Спасибо, почитаю.
Этот подход поможет?
fk создается через back
Так не делают. Выключают всё, переносят данные, создают все объекты схемы, - включают приложение работать.
Обсуждают сегодня