Take our database source code and data under control
The current trends to work in Agile and DevOps modes are bringing some challenges for database developers. Source control and build automation is almost a standard for non-database development but it’s still a challenge for database related development – like schema definition or packages code. In addition to that, databases have one more variable – data itself.
Source control and automation can address code and schema problems but the missing point is data control and the possibility to quickly rollback data to a point in time to repeat a test or just revert an unexpected damage caused by bug in the code.
The first part of this talk will be focused on presentation of tools helping developers and DBAs to understand and use a git as a source control for database development. It will show how DBA’s can use Liquibase, Flyway, DDLFS in the reactive and proactive mode to track changes on databases and detected code changes. The second part will try to address the problem of data control in the individual developer or tester environments and how it can be resolved by using an open source tool -Titan.
The tool is able to keep a history of database changes and revert database to a “committed” stage. This functionality can help for example an Apex developer to quickly rollback to the last working version of the application. Similar functionality allows testers to use utPLSQL testing framework even for PL/SQL code which contains a commit or DDL operation inside packages.