2016-03-04 5 views
3

У меня есть приложение в Django, которое я развертываю в геройку. Развертывание работает хорошо, но база данных моей модели не переносилась.Миграция баз данных из локального django в heroku

После развертывания я снова запустить, локальной:

python manage.py makemigrations 
python manage.py migrate 

После, я:

heroku run python manage.py makemigrations 
heroku run python manage.py migrate 

И после того, как я бегу сервер и ждать его хорошо работает:

heroku run python manage.py runserver 

У меня есть 3 модели:

cliente, categoria, produto

produto имеет ForeignKey до categoria. Итак, localy, у меня есть 3 базы данных:

produtos_produto, produtos_categoria, cliente.

Я использую PostgreSQL как базу данных localy и в heroku.

Но в heroku у меня нет ни одной из этих баз данных.

При запуске сервера в браузере У меня есть следующий ответ:

ProgrammingError at/

relation "produtos_categoria" does not exist 
LINE 1: ...ia"."descricao", "produtos_categoria"."logo" FROM "produtos_... 
                  ^

Request Method:  GET 
Request URL: http://redewebsite.herokuapp.com/ 
Django Version:  1.9.2 
Exception Type:  ProgrammingError 
Exception Value:  

relation "produtos_categoria" does not exist 
LINE 1: ...ia"."descricao", "produtos_categoria"."logo" FROM "produtos_... 
                  ^

Exception Location:  /app/.heroku/python/lib/python2.7/site-packages/django/db/backends/utils.py in execute, line 64 
Python Executable: /app/.heroku/python/bin/python 
Python Version:  2.7.11 
Python Path:  

['/app', 
'/app/.heroku/python/bin', 
'/app/.heroku/python/lib/python2.7/site-packages/setuptools-19.6-py2.7.egg', 
'/app/.heroku/python/lib/python2.7/site-packages/pip-8.0.2-py2.7.egg', 
'/app', 
'/app/.heroku/python/lib/python27.zip', 
'/app/.heroku/python/lib/python2.7', 
'/app/.heroku/python/lib/python2.7/plat-linux2', 
'/app/.heroku/python/lib/python2.7/lib-tk', 
'/app/.heroku/python/lib/python2.7/lib-old', 
'/app/.heroku/python/lib/python2.7/lib-dynload', 
'/app/.heroku/python/lib/python2.7/site-packages'] 

Server time: Sex, 4 Mar 2016 17:50:43 +0000 

ответ

4

Вы должны запустить makemigrations локально, а затем зафиксировать эти сгенерированные файлы миграция мерзавца. После развертывания Heroku автоматически запускается.

+0

Я понимаю это сейчас. Нам нужно добавить git в файл миграции и нажать их раньше. – dsbonafe

+0

Я тупица! kkk Это работает. Благодарю. – dsbonafe

Смежные вопросы