Liquibase : Version Control for Database Schema
Dziadosz, Radoslaw (2017)
Dziadosz, Radoslaw
Jyväskylän ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2017061913791
https://urn.fi/URN:NBN:fi:amk-2017061913791
Tiivistelmä
The main task was to add a version control system to an existing Oracle database. The database was complex and migrations were very complicated and difficult to develop without control version system for database schema.
Creating patches or improvements to the database schema was taking a great amount of time, because it was needed to take care of error handling manually. It was not sure if the script would be executed a few times or once, therefore, any exception that could occur had to be handled in SQL script. All scripts had to be executed in the correct order, because existing data could be corrupted.
Another goal was also to make it easy for developers to create a database instance. They were sharing resources, which sometimes caused conflicts while working.
In order to solve the above problems, it was decided to add Liquibase to the existing database. Liquibase was added to the project in an automated method only in some places due to the complexity of the database.
As a result, the management of database migration has become much easier. The migration process was accelerated by not executing scripts again in the upgrade process and by adding Continuous Integration.
Liquibase should have been added much earlier. It would be good to think about how to manage the changes at the very beginning of creating the database structure, because adding a version control system to a schema in a complex database is much more difficult.
Creating patches or improvements to the database schema was taking a great amount of time, because it was needed to take care of error handling manually. It was not sure if the script would be executed a few times or once, therefore, any exception that could occur had to be handled in SQL script. All scripts had to be executed in the correct order, because existing data could be corrupted.
Another goal was also to make it easy for developers to create a database instance. They were sharing resources, which sometimes caused conflicts while working.
In order to solve the above problems, it was decided to add Liquibase to the existing database. Liquibase was added to the project in an automated method only in some places due to the complexity of the database.
As a result, the management of database migration has become much easier. The migration process was accelerated by not executing scripts again in the upgrade process and by adding Continuous Integration.
Liquibase should have been added much earlier. It would be good to think about how to manage the changes at the very beginning of creating the database structure, because adding a version control system to a schema in a complex database is much more difficult.