Лучший способ изменить спецификации столбца в Django - PullRequest
0 голосов
/ 23 ноября 2011

Я использую Django с Postgres и Heroku. и у меня есть стол сообщений с выглядит примерно так.

 class Post( models.Model ):
       .
       .
       content1 = models.CharField(max_length=1000)
       .

Один из моих друзей сказал мне, что лимит слишком мал, теперь я хочу изменить эту максимальную длину на 10000. Один из способов я могу подумать о чередовании таблицы путем создания нового столбца с именем content2, затем копирования контента из content1, а затем удаления Content1. Я довольно новичок в этом, и мне было интересно, как лучше всего подойти к этой проблеме.

Также 10000 - это хорошая длина для сообщения в блоге? : D

1 Ответ

1 голос
/ 23 ноября 2011

Вы можете использовать dumpdata для сохранения данных в json-файл и перезагрузить их после повторного создания, вы также можете вручную ИЗМЕНИТЬ таблицу с новыми параметрами.Или вы можете использовать юг.

Юг обеспечивает миграцию баз данных (как она вызывается для изменения макета таблицы) для django.

pip install south

Добавьте юг к INSTALLED_APPS, затем выполните

python manage.py schemamigration --initial your_app_name
python manage.py migrate --fake your_app_name

Внесите изменения в models.py, затем запустите

python manage.py schemamigration --auto your_app_name
python manage.py migrate your_app_name

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

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