Изменения в Postgresql в комбинированной версии Heroku и Django с общей базой - PullRequest
4 голосов
/ 15 февраля 2012

Я только начал использовать Heroku с Django, и это кажется великолепным. Однако, когда я меняю свои существующие модели, я не уверен, как выполнить эти изменения в среде Heroku. Syncdb прекрасно работает при добавлении всех новых таблиц базы данных, но как мне изменить существующие таблицы?

Я обнаружил, что Heroku предоставляет psql доступ только к выделенной базе данных, так что об этом не может быть и речи. Я не пробовал Юг, но это похоже на решение.

Так что, я думаю, я спрашиваю, как внести изменения в базу данных с помощью Django и Heroku?

Ответы [ 2 ]

3 голосов
/ 15 февраля 2012

То, что вы запрашиваете, называется " миграция схемы " или даже " эволюция схемы ". Django имеет некоторую документацию об этом в вики .

Команда Django syncdb не поддерживает это. На самом деле документация для syncdb ясна :

Создает таблицы базы данных для всех приложений в INSTALLED_APPS, чьи таблицы еще не созданы

Вместо этого django предлагает использовать отбрасывать таблицы вручную , а затем снова запустить syncdb в документации устаревшей команды сброса :

Вы также можете использовать операторы ALTER TABLE или DROP TABLE вручную.

Но не бойтесь , есть много приложений многократного использования, которые помогут вам с правильной миграцией схемы, и, надеюсь, вы сможете выбрать то, которое подходит вам лучше всего. Вместо того чтобы подробно остановиться на моем ответе, пожалуйста, дайте мне ссылку на статью, которую я написал о Миграция схемы Django , в которой сравниваются все текущие решения.

0 голосов
/ 29 февраля 2012

Юг прекрасно работает на Heroku.

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