Мне нужно обновить базу данных в Heroku для поддержки более 10 тысяч строк, поэтому обновите hobby-dev до hobby-basic на Heroku. - PullRequest
0 голосов
/ 09 октября 2018

У меня есть приложение в Heroku, которое достигает предела 10K строк, поэтому мне нужно обновить базу данных Heroku DB, но у меня есть пара сомнений по этому поводу, и я не хочу быть полностью уверенным в том, что я делаю раньшечто-то делать с производственной БД.

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

Что касается процесса изменения БД моего приложения, команды были бы:

  1. Сначала я бы перевел свое приложение в режим обслуживания
* *

* 1015 1016 *

Тогда я бы сделал резервную копию БД и скачал бы ее

heroku pg:backups:capture --app my_app_name

heroku pg:backups:download --app my_app_name

Я бы также получил свое старое имя БД с

heroku pg:info --app my_app_name

Затем я создаю новую БД

heroku addons:create heroku-postgresql:hobby-basic --app my_app_name

Предположим, HEROKU_POSTGRESQL_ROSE_URL - это имя новой БД.

И я копирую всю запись из моей старой БД в новую

heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_ROSE_URL --app my_app_name

Для подтверждения я пишу название моего приложения

my_app_name

Затем я определяю свою новую БД в качестве первичной БД

heroku pg:promote HEROKU_POSTGRESQL_ROSE_URL --app my_app_name

Наконец я отключаю режим обслуживания

heroku maintenance:off --app my_app_name

А потом я удаляю свою старую БД

heroku addons:destroy old_db_name --app my_app_name

Все ли правильно?

РЕДАКТИРОВАТЬ : Итак, я сделал тест, создавая hobby-dev БД, но в конце процесса эта новая БД имела примерно 150 строк (раньше она имела 820 строк, а теперь - 970 строк), это нормально?

Кроме того, нормально ли, что размер резервной копии равен 200 КБ, а в интерфейсе Heroku размер БД составляет около 10 МБ?

1 Ответ

0 голосов
/ 09 октября 2018

Я постараюсь ответить в порядке ваших вопросов.

  1. Да, вам нужно будет добавить платежную информацию в свой аккаунт, прежде чем вы сможете предоставлять платные дополнения, такие как hobby-basic база данных.После того, как ваша платежная информация будет добавлена, вам будет разрешено предоставить базу данных.

  2. Процесс, который вы подробно описали для обновления, имеет некоторые недостатки.Без определенного порядка:

    • Не ждите середины процесса обновления, чтобы создать новую базу данных.Это можно сделать заранее.
    • Шаг 2 не нужен.Нет необходимости загружать резервную копию в середине этого процесса.
    • На шаге 5 в качестве цели указана база данных ROSE, но новая база данных может иметь другой цвет.Эта информация доступна из pg:info
    • Шаг 6 также не требуется.Вы можете подтвердить в одной строке, например, heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_ROSE_URL --app my_app_name --confirm my_app_name
  3. Обычно резервный дамп-файл намного меньше существующей базы данных.Файлы дампа - это сжатые двоичные файлы, которые не содержат раздувания таблиц или индексов.В некоторых случаях размер файла дампа может составлять 10% от размера исходной базы данных.

...