Django Models исчезают из приложения, развернутого в Heroku
Я создаю личный сайт-портфолио на Django, который надеюсь разместить на Heroku. Я знаю о проблеме эфемерного хранения данных на платформе, поэтому все изображения обслуживаются из ведра s3. Однако после развертывания приложения и запуска python manage.py migrate
из dyno и проверки базы данных postgresql
на приборной панели я вижу, что строки и столбцы созданы, но они не заполнены. Следовательно, в этой базе данных не хранятся модели. Я не .gitignore
-ю db.sqlite3
. Я также использую виртуальную среду.
Короче говоря, вот вывод команды tree
из корневой папки:
├── Procfile
├── db.sqlite3
├── manage.py
├── media
│ └── images
│ ├── angular.png
│ ├── bash.png
│ ├── c.png
│ ├── calibration.png
│ ├── commerce_img.png
│ ├── css3.png
│ ├── django.png
│ ├── git.png
│ ├── html.png
│ ├── image-processing-api.png
│ ├── js-logo.png
│ ├── mail.png
│ ├── my_store.png
│ ├── network.png
│ ├── nodejs.png
│ ├── programmer.svg
│ ├── python.png
│ ├── rest_with_node.png
│ ├── sql.png
│ ├── typescript.png
│ └── wiki_image.png
├── portfolio
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-39.pyc
│ │ ├── settings.cpython-39.pyc
│ │ ├── urls.cpython-39.pyc
│ │ └── wsgi.cpython-39.pyc
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── requirements.txt
├── staticfiles
└── webdev_portfolio
├── __init__.py
├── __pycache__
│ ├── __init__.cpython-39.pyc
│ ├── admin.cpython-39.pyc
│ ├── apps.cpython-39.pyc
│ ├── models.cpython-39.pyc
│ ├── tech_stack.cpython-39.pyc
│ ├── urls.cpython-39.pyc
│ └── views.cpython-39.pyc
├── admin.py
├── apps.py
├── models.py
├── static
│ └── webdev_portfolio
│ └── styles.css
├── templates
│ └── webdev_portfolio
│ ├── index.html
│ ├── layout.html
│ ├── project.html
│ └── projects.html
├── tests.py
├── urls.py
└── views.py
Наконец, вот мой settings.py
файл на случай, если я что-то упустил:
...
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
import dj_database_url
db_from_env = dj_database_url.config(conn_max_age=600)
DATABASES['default'].update(db_from_env)
Я что-то упускаю? Спасибо.
То есть вы используете psql на Heroku, пытаясь заполнить его файлом db.sqlite3
? Если это ваше намерение, то это не сработает. Обе базы данных разные, фактически, для заполнения только что созданной PSQL вам понадобится либо исправление, либо резервное копирование.
Проверьте документацию Heroku