Re: Developers wanting individual Unit Test (no data) databases - suggestions?

  • From: Ryan January <rjanuary@xxxxxxxxx>
  • To: christopherdtaylor1994@xxxxxxxxx
  • Date: Mon, 14 Aug 2017 09:43:32 -0500

Going a different route than what was already presented; you mention you want a 
database with no data.  The snapshot (COW) approach will give you all your 
data, but you'll incur a storage penalty by deleting it.  If you truly do not 
want the data, there are other options.

As Mark mentioned earlier, many people don't know the difference between a 
schema and a database and use them interchangeably.  On one application I 
worked with, having similar requirements, I built a process that would create 
the tablespaces, schemas, and base objects for the application.  We referred to 
this as the 'golden schema' that was always the start of the project.  On top 
of that base, we use our standard deployment process to upgrade the schema to 
whatever functional level the developer desires at the time.  Every major 
software release we updated the golden schema base.
To make it user friendly we built parameterized Jenkins jobs to automate the 
build. Log into jenkins, select your release level you were targeting, then 
click the build button. It ran the SQL to create the base, then kicked off 
DBDeploy that would run a set of schema migration scripts to get to the 
indicated release level.

I will admit it took a little time to sort this out, but once we did, the 
process was rock solid.  If your particular application has a standard database 
deployment, this could be another viable option.

Thanks,
Ryan

On Aug 11, 2017, at 12:25 PM, Chris Taylor <christopherdtaylor1994@xxxxxxxxx> 
wrote:

We've got a relatively large development group who want to have many Unit 
Test databases (without data) that they can spin up on demand and destroy 
when done.

I'm curious what products are available that could facilitate something like 
this?

I was thinking something like this:

Unit Test (UT Master) - code replicated from production nightly (never used 
for testing)

How could I facilitate users creating a copy on demand of UTMaster using 
something like:

VMWare or
Delphix or
Docker or
something

I'm basically looking to see what options are to accomplish something like 
this.

I was thinking if we stood up UT Master on a VM, we could snap the VM into 
another copy for a specific developer on demand.

Chris






Other related posts: