Здравствуйте, opt1k, Вы писали:
O>В который раз ловлю себя на мысли, что мне страшно апдейтить продуктивную базу. У вас есть такое?
Конечно. Не боятся обычно те, кто ещё не грохал базу.
> Ну я понимаю, что если перед каждым апдейтом бекап делать (как оно по уму и делается), то ничего страшного нет и быть не может
Поэтому очень важно иметь очень быстрые и удобные бэкапы/восстановления и автоматизировать выполнение кастомных скриптов с автоматическим бэкапов перед ними. Сильно снижает уровень стресса.
> а как быть, когда надо вот здесь и сразу, а ентер ведь рядом с '? Т.е. одним неловким движением update X set Y=' ' enter. мы отправляем пару тысяч строк данных в небытие?
1. Транзакции. Это обязательно, никогда нельзя работать на продакшне с авто-коммитом, даже на тесте не стоит, чтобы привычки не менять.
2. Нормальные инструменты. Enter не должен выполнять запрос. Должно быть подтверждение в каком-то виде. Хотя бы ";" поставить в конце (когда уже уверен, что опечаток нет).
3. Проверки перед коммитом. Посмотри, сколько строк изменилось апдейтом, сделай селект, убедись что всё нормально.
> Есть такое дело или я навыдумывал? На себе проверять не хочу.
Ну знакомый один раз в одной важной базе грохнул важную таблицу. Там бэкапы на ленточку делались, но восстанавливать это умеют особые спецы, которые по заявке приходят не в ту же минуту, процесс восстановления занимает несколько дней, в общем в Казахстане ряд госорганов в эти дни получил выходные вне графика
По-моему там на выходные это всё выпало, так что не всё так страшно, но всё равно очень неприятно.