Як хтось, хто регулярно займався оновленням виробничої бази для клієнтів для оновлення програмного забезпечення, я кажу вам, що найкращий спосіб мінімізувати помилки - це зробити оновлення максимально простими.
Якщо ви можете внести зміни до всіх записів, а не конкретних записів, бажано.
Іншими словами, якщо вам надано список ідентифікаторів записів, які потребують зміни їх стану, вам слід запитати себе, чому оновлення проводиться в контексті програми. Можливо, з 10 записів, які потрібно оновити, таблиця містить лише 10 елементів. Тому ви повинні запитати себе, чи концептуально все, що ви робите, це оновлення стану всіх записів.
Якщо ви можете вставити, то краще.
Акт додавання запису є самостійним. Маючи на увазі, я маю на увазі лише один побічний ефект додавання запису, і це наявність запису, який раніше не існував. Тому, якщо ви не додаєте запис, якого там не повинно бути, проблем не повинно бути.
Якщо ви можете уникнути видалення, бажано.
Якщо ви виконуєте видалення, ви видаляєте дані, які в іншому випадку були б неможливими без резервного копіювання. Якщо можливо, спробуйте впорядкувати дані таким чином, щоб ви могли відключити записи, змінивши його стан, а не фізично видаливши запис. Надлишок даних може бути поміщений у розділ, або він може бути видалений повністю в більш пізній момент, як тільки ви впевнені, що немає проблем.
Провести послідовну політику оновлення.
Якщо вам потрібно оновити запис, може статися одна з кількох речей:
- Ваш запис не існує.
- Ваш запис існує, але він уже змінений.
- Ваш запис існує і потребує змін.
Потрібно мати політику, щоб визначити хід дій, якщо щось не піде за планом. Для простоти ви повинні бути послідовними і застосовувати цю політику в будь-якій ситуації такого типу, а не лише для конкретних таблиць. Це полегшує можливість відновлення даних пізніше. Як правило, моя політика полягає в тому, щоб написати сценарій таким чином, щоб згодом його змогли повторно виконати. Якщо сценарій не вдасться, приємно знати, що ви можете внести правильні корективи та повторно виконати, однак ви можете вибрати власну політику, яка вам найбільше підходить.
Резервні копії
Це жодним чином не виправдає вас зробити резервну копію перед виконанням будь-якого оновлення у виробничому середовищі! Хоча навіть із резервною копією, я вважаю, що не потрібно використовувати резервну копію. Втрата даних не може бути можливою навіть у гіршому випадку .
Висновок
Ви не завжди зможете мати це по-своєму. Таблиця схем, ймовірно, не визначається вами, і як така це означає, що типи оновлень, які ви можете розраховувати виконати, будуть і складними, і ризикованими. Хоча, якщо у вас є якісь відповіді щодо цього питання, це допомагає пам’ятати про ці моменти, оскільки вони роблять будь-які оновлення простими та без істотного ризику.
Удачі!