2017-01-03 2 views
0

Я заметил, что для Heroku для базы данных Postgres существует два варианта: Admin and Dashboard Area при посещении экземпляра базы данных.Разница между 'Reset' и 'Destroy' Database на Heroku с Postgres?

1: Сброс базы данных:

Heroku Dashboard описывает это действие как:

Сбросить базу данных в первоначально-Предоставлен состоянии, удаляя все данные внутри него.

2: уничтожить базы данных:

Heroku Dashboard описывает это действие как:

Уничтожает базу данных и все данные внутри него.

Это говорит о том, что все еще остается немного открытым для интерпретации, что касается различий за кулисами этих двух действий.

Я осмотрел помощь Героку, но не смог найти особо различий между действиями.

Возможно, некоторые соображения относительно действий Postgres в терминах SQL и т. Д., Которые сделаны каждым действием, будут лучше понимать?

Итак, каковы основные различия между этими действиями?

ответ

1

Объяснение, предоставленное Heroku, совершенно ясное, однако позвольте мне попытаться это истолковать. Основное различие заключается в том, что Reset сохранит базу данных, а Destroy удалит базу данных.

Если вы уничтожите базу данных, экземпляр больше не будет доступен. Вы потеряете всю базу данных, и это также повлияет на выставление счетов и любое связанное с ним приложение.

Сброс вместо этого просто очистит весь контент, оставив доступный ресурс базы данных. Это похоже на кнопку «начать новую».

+0

Спасибо @simone. Это довольно ясно, но вы определенно разъяснили некоторые «последствия» каждого из действий. Вы сказали бы в терминах «Rails», что ** reset ** эквивалентен 'db: reset', в то время как ** destroy ** эквивалентен' db: drop'? – nickj

0

Между тем существуют ключевые различия между ними с точки зрения базы данных.

  • СБРОС

При выполнении сброса превратит ваш DB в исходное или Свежее DB состояния схемы, где схема являются чистыми, выполнив это действие.

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

  • УНИЧТОЖИТЬ

Уничтожить опасно для живого применения, потому что его полностью разрушить схему, а также уничтожить БД для вас same.So может восстановить структуру схемы после его выполнения.

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

С точки зрения Rails это эквивалентно db: reset и db: destroy.

Смежные вопросы