Я пытаюсь восстановить базу данных из герою, но большая часть данных теряется в процессе. Я проверил вывод команды pg_restore, и все данные находятся в дампе, но он не восстанавливается должным образом.
Я использую django. и пытается заставить сервер работать локально с django. Я могу запустить его, если я создаю новую базу данных, запускаю миграции, а затем использую эту команду:
pg_restore --verbose --data-only --no-acl --no-owner -h localhost -U mrp -d mrp latest.dump.1
Насколько я могу судить, все таблицы корректно настраиваются и включают в себя некоторые необходимые данные , но другие данные потеряны. Когда я запускаю pg_restore
с --clean
вместо --no-data
, это портит таблицы, и я получаю эту ошибку всякий раз, когда использую команды manage.py: psycopg2.IntegrityError: null value in column "id" violates not-null constraint
и django.db.utils.IntegrityError: null value in column "id" violates not-null constrain
Вот несколько примеров ошибок при запуске pg_restore
с помощью команды --data-only
:
pg_restore: [архиватор (дБ)] Ошибка при обработке C: pg_restore: [архиватор (дБ)] Ошибка от TO C запись 4113; 0 2654299 ТАБЛИЦА ДАННЫХ auth_group_permissions tbjatcnpbztfzf pg_restore: [archiver (db)] Сбой копирования COPY для таблицы «auth_group_permissions»: ОШИБКА: вставка или обновление в таблице «auth_group_permissions» нарушает ограничение внешнего ключа «разрешение ключа (auth_group_permissions): auth_group_per_de__d_t_t_t_» отсутствует в таблице "auth_permission".
и
pg_restore: обработка данных для таблицы "publi c .mrp_system_location" pg_restore: обработка данных для таблицы "publi c .mrp_system_locationrelationship" pg_restore : [архиватор (дБ)] Ошибка от TO C запись 4152; 0 15793558 ТАБЛИЦА ДАННЫХ mrp_system_locationrelationship tbjatcnpbztfzf pg_restore: [архиватор (дБ)] COPY Сбой таблицы "mrp_system_locationrelationship": ОШИБКА: вставки или обновления на столе "mrp_system_locationrelationship" нарушает ограничение внешнего ключа "mrp_system_locationr_part_id_d7b630f4_fk_mrp_syste" ДЕТАЛЬ: Ключ (part_id) = (300) является отсутствует в таблице "mrp_system_part".
Я новичок в django / heroku, пожалуйста, помогите.