Loading AI tools
З Вікіпедії, вільної енциклопедії
Міграція бази даних (також міграція схеми) (англ. schema migration, database migration, database change management[1][2]) — це керування інкрементними, зворотніми змінами схеми реляційної бази даних. Міграція схеми виконується над базою даних коли необхідно оновити, або повернути схему бази даних до якоїсь новішої чи старішої версії.
Міграції виконуються програмно за допомогою інструменту міграцій (англ. schema migration tool). При виклику інструменту міграції з вказуванням бажаної версії схеми, інструмент автоматично застосовує або відкочує міграції в правильній послідовності аж поки не приведе базу даних до бажаного стану.
Більшість інструментів міграції стараються мінімізувати вплив змін схеми на наявні дані всередині бази. Проте, загалом збереження даних не гарантується, бо зміни схеми такі як видалення колонки таблиці можуть знищувати дані (всі значення які зберігались у видаленій колонці). Натомість, ці інструменти стараються зберегти семантику даних або реорганізувати наявні дані у відповідність з новими вимогами. А так як семантику даних зазвичай неможливо зберегти формально, налаштування інструментів зазвичай ручне.
Міграція схеми дозволяє виправляти помилки та адаптувати дані до змін вимог. Вона є важливою частиною еволюції програмного забезпечення, особливо в гнучкій розробці.
Застосування міграції схеми до бази даних в продакшні — це завжди ризик. Розробницька і тестові бази даних зазвичай менші і охайніші. Дані в них зрозуміліші, і навіть якщо все поламається їх об'єм достатньо малий для того щоб людина могла опрацювати. Бази даних в продакшні зазвичай величезні, старі і повні несподіванок. Несподіванки можуть з'являтись з багатьох причин:
З цих причин міграції потребують багато дисципліни, ретельного тестування та здорову систему резервного копіювання.
Багато вебфреймворків мають вбудовану підтримку міграцій, наприклад Yii[3], Django[4]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.