Не удается загрузить JSON Postgresql Резервное копирование базы данных в новое Django Приложение Heroku через loaddata - PullRequest
0 голосов
/ 15 апреля 2020

Я обновляю старое приложение до нового приложения на Heroku (Python 3.7 Django 2.2). Локально, я смог успешно загрузить json файл резервной копии базы данных, и он прекрасно работает. Я создал новое приложение без проблем, но когда я загружаю приспособление для резервного копирования базы данных в новое приложение Heroku, процесс просто завершается через несколько секунд, и данные не загружаются. Мне не дают ошибок.

Это моя команда:

heroku run python manage.py loaddata db-back1.json 

Ответ:

Running python manage.py loaddata db-back1.json on ⬢ app-name... up, run.6706 (Free)

Вскоре после того, как он просто завершает процесс без ошибок.

Заметки и вещи, которые я пробовал:

  • Мой файл фикстуры json имеет размер 300 МБ, поэтому он довольно большой. На моем локальном экземпляре потребовалось несколько минут. Нужно ли сначала загружать на S3?
  • Я обновил приложение до стандартного на heroku, и URL базы данных был обновлен правильно и настроен на правильную базу данных, хотя ответ продолжает включать ( Бесплатно).
  • Для ясности, приложение Heroku успешно работает, просто у него нет данных. Кроме того, я смог заставить приложение и данные успешно работать на моей локальной версии. Это заставляет меня поверить, что есть какое-то требование, которое я пропускаю в Heroku.

Существуют ли ограничения по размеру или другие очевидные вещи, которые я упускаю из виду, которые могли бы объяснить внезапное завершение процесса загрузки без ошибок?

1 Ответ

0 голосов
/ 19 апреля 2020

Просто если кому-то интересно, у Heroku нет тайм-аута, но есть ограничение на количество файлов. Мой файл 300mb JSON, вероятно, был причиной проблемы. Я использовал JSON, потому что он работал локально. Провел дополнительное исследование и вместо создания файла JSON я создал файл. sql и смог сжать его до 20 МБ. С файлом. sql я смог избежать использования функции loaddata и сделал pg: restore, как описано в документации Heroku , и работал отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...