Моя новая миграция будет тормозить мою базу данных на героку (postgres) - PullRequest
1 голос
/ 06 апреля 2019

Я столкнулся с проблемой здесь.Поэтому я унаследовал модели от предыдущих разработчиков, и таблицы были построены неправильно.Я добавил некоторые ограничения и новые таблицы, чтобы нормализовать эти таблицы.Прежде чем отправить приложение на heroku, я проверил его на своей локальной машине, и оно фактически сломало мою базу данных.

Теперь сайт heroku уже находится в производстве, поэтому есть информация о пользователе.Как мне подходить к этому, нужно ли мне уничтожить существующую базу данных, создать новую и запустить миграцию

1 Ответ

1 голос
/ 06 апреля 2019

Будь очень, очень осторожен.Применение миграций на производственных серверах может привести к необратимому ущербу, если вы не будете осторожны, поэтому вы должны быть готовы к каждой возможной ситуации.

Моя лучшая рекомендация - создать полную дубликатную копиюваша живая БД (используя Heroku это так же просто, как дамп / резервное копирование PG).Затем вы можете создать новый промежуточный сайт, используя тот же код, загрузить резервную копию в новый экземпляр базы данных, а затем протестировать ее.Живая среда не всегда совпадает с локальной.Затем вы можете запустить миграцию на промежуточном сайте и посмотреть, есть ли какие-либо неожиданные эффекты (лучший способ сделать это - использовать тестовые примеры django).Если есть какие-либо проблемы, убедитесь, что вы понимаете, как процесс отката работает с миграциями django.

Хорошее учебное пособие, которое появилось довольно недавно, можно найти здесь: https://realpython.com/django-migrations-a-primer/

...