I am going to implement the CI build process for my second Oracle project. I don’t think that dropping and re-creating all will do much harm (as indicated above as a_horse_with_no_name). I am glad to hear what you think about extending CI to database objects - too many teams do not.
Another approach may be to restore the database from a recent backup every night (or use the flashback database) and transfer the application from the “production backup” to the current dev state each time CI starts. Thus, the code that will ultimately be applied to production will be tested every night against what is largely identical to production. This has changed a little in thinking, but not too many changes if you are already thinking about CI.
If you want to try the migration approach, I have a tool that I worked on that can help - http://dbgeni.com It is still very much in development, but I developed it using CI and manage database changes with taking into account migrations.
source share