Делаем downgrade базы данных Postgres на Heroku
Для экономии средств было решено перейти на бесплатный план PG на Heroku (hobby-dev).
hobby-dev предоставляет 10 000 записей в БД, чего вполне хватает для простых задач (собственно, название намекает :)). Поэтому было решено перейти с hobby-basic (9 usd в месяц) на hobby-dev (бесплатный).
Вот пошаговая инструкция по понижению плана Postgres на Heroku:
Для начала нужно создать базу данных с планом hobby-dev. Сделать это можно из Web-интерфейса Heroku, либо же через CLI:
hobby-dev предоставляет 10 000 записей в БД, чего вполне хватает для простых задач (собственно, название намекает :)). Поэтому было решено перейти с hobby-basic (9 usd в месяц) на hobby-dev (бесплатный).
Вот пошаговая инструкция по понижению плана Postgres на Heroku:
Для начала нужно создать базу данных с планом hobby-dev. Сделать это можно из Web-интерфейса Heroku, либо же через CLI:
heroku addons:create heroku-postgresql:hobby-dev --app=your_app
Следующим шагом нужно скопировать данные из текущей базы данных в ту, которую мы создали.
У меня была создана БД с именем SILVER. Текущая база именовалась просто DATABASE.
Значит переносим данные из DATABASE в SILVER:
heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_SILVER_URL --app=your_app
Теперь, когда данные из старой базы данных скопированы в новую - начинаем использовать нужную БД:
heroku pg:promote HEROKU_POSTGRESQL_SILVER_URL
Когда наше приложение перепрыгнет на новую БД - старую можно удалить.
Перед любыми действиями с базой данных - убедитесь в том, что резервные копии созданы, сохранены и правильно работают.
Чтобы сообщить посетителям сайта о проводимых работах и предотвратить создание новых записей в базу во время переноса - нужно включить maintenance страницу-заглушку:
Включить maintenance:
heroku maintenance:on
Выключить maintenance:
heroku maintenance:off