Потеря данных в db.sqlite3 при развертывании проекта django в heroku

Когда я делаю обновления на своем сайте, я теряю все данные, которые были добавлены в мои модели. Например, мои модели включают пользователей и service_calls, и когда я запускаю обновление, оно перезаписывает мой файл db.sqlite3, и я возвращаюсь к тому, что мой суперпользователь является единственным пользователем, а в моей базе данных 0 вызовов служб. Как я могу отправить обновление без перезаписи файла db.sqlite3? Возможно ли это, или мне нужно обновить локальный файл db.sqlite3 перед развертыванием, и если да, то как мне это сделать.

Заранее спасибо

Я использую такую стратегию обновления и она никогда не доставляет мне проблем:

  1. в git-репозиторий не добавлен файл db.sqlite3. это означает, что dev и prod будут использовать разные базы данных.
  2. в каталоге migrate поместите в git-репозиторий только файл init, не добавляйте весь кэш migrate
  3. .
  4. файл db.sqlite3 бэкапится по-другому, не вместе с кодами DJango (так и должно быть - данные и код не должны быть упакованы вместе)
  5. каждый раз, когда я обновляю продакшн, я снова запускаю миграцию на prod машине (включаю makemigrations, sqlmigrate и migrate). Django migrate сохранит старые данные, если вы посмотрите на sql, который он генерирует, он создаст новую таблицу, скопирует данные в новую таблицу и удалит старую таблицу, а затем переименует новую таблицу в старое имя.
  6. .
Вернуться на верх