Database Evolution
Evolutionary database modeling is necessary due to frequent changes in application requirements.
The challenge is greater when the database must support multiple applications simultaneously. The current solution for evolution is refactoring with a transition period, during which both the old and the new database schemas coexist and data is replicated via a synchronous process, what brings several difficulties, such as interference with the normal operation of applications. To minimize these difficulties, we propose an asynchronous process to keep these schemas updated and presents a prototype tool to evolve databases.
The prototype source code is avaible in Database Evolution Manager. After the download, do:
-
git clone borboleta.git.bundle
-
cd borboleta.git
-
for b in $(git for-each-ref --format='%(refname:lstrip=-1)' refs/remotes); do git branch $b refs/remotes/origin/$b && git branch -D -r origin/$b; done
-
git switch main
-
cd evolution