Міграція бази даних: відмінності між версіями

нема опису редагування
(Створено шляхом перекладу сторінки «Schema migration»)
Немає опису редагування
In [[Програмна інженерія|software engineering]], '''schema migration''' (also '''database migration''', '''database change management'''<ref>http://www.liquibase.org/ [//en.wikipedia.org/wiki/Liquibase Liquibase] Database Refactoring</ref><ref>http://flywaydb.org/ Flyway: The agile database migration framework for Java</ref>) refers to the management of incremental, reversible changes to [[Реляційна база даних|relational]] [[Схема бази даних|database schemas]]. Міграція схеми виконується над базою даних коли необхідно оновити, або повернути схему бази даних до якоїсь новішої чи старішої версії.
Migrations are performed programmatically by using a ''schema migration tool''. When invoked with a specified desired schema version, the tool automates the successive application or reversal of an appropriate sequence of schema changes until it is brought to the desired state.
Most schema migration tools aim to minimize the impact of schema changes on any existing data in the database. Despite this, preservation of data in general is not guaranteed because schema changes such as the deletion of a database column can destroy data (i.e. all values stored under that column for all rows in that table are deleted). Instead, the tools help to preserve the meaning of the data or to reorganize existing data to meet new requirements. Since meaning of the data often cannot be encoded, the configuration of the tools usually needs manual intervention.
=== Advantages ===
Developers no longer need to remove the entire test database in order to create a new test database from scratch (e.g. using schema creation scripts from DDL generation tools). Further, if generation of test data costs a lot of time, developers can avoid regenerating test data for small, non-destructive changes to the schema.
== Зноски ==
== Посилання ==
* [https://martinfowler.com/articles/evodb.html Martin Fowler: Evolutionary Database Design]
[[Категорія:Гнучка методологія розробки програмного забезпечення]]
[[Категорія:Бази даних]]
37 335