3 ms·
I work with Oracle daily and implement a lot of logic directly in the database. Debugging: Extensive logging to tables [0]. Also we have dev, test and prod dat
by phartenfeller 3y ago
I work with Oracle daily and implement a lot of logic directly in the database.
Debugging: Extensive logging to tables [0]. Also we have dev, test and prod databases.
Versioning: Git. It's just source code that gets compiled in the db.
Deployment: Upgrade SQL scripts. You already have to do this on any relational DB if you need to alter existing tables. We just also deploy new/updated packages. We trigger them via pipelines.
Also keep in mind that the logic you deploy in the database is generally not as complex as other software as you mostly just query, modify and write highly structured data.
But we still run plenty of tests. There is a great unit testing tool for Oracle: utPLSQL [1]. We also spin up databases and run the installation and upgrade scripts on pull-requests.
[0] https://github.com/OraOpenSource/Logger https://github.com/OraOpenSource/Logger
[1] https://github.com/utPLSQL/utPLSQL https://github.com/utPLSQL/utPLSQL