Currently, I work in a company with about 20 developers, give or take a few, and am looking for a way to give each developer their own development database for dev/testing purposes.
Each developers database would come from a "master" database. So, each database would be built from a snapshot of the this master database and could then be upgraded to a new version when schemes, tables, columns, or whatever changes.
So, essentially, a developer would:
- Come into work, and fire up their windows pc (all are on windows 7 with a not to real shot of updating to windows 8/10 soon)
- Update their VM (or whatever is hosting their individual database) to the new development database to include any database changes that occurred the previous day and apply the snapshot of the master database. Either manually or through some kind of "automated" way with a button click that would run powershell or other scripts.
- OR continue work from the previous day without upgrading/updating their development database to include previous day changes to keep any test data they are working with and table changes that haven't passed through code review
We are working with
- Windows 7 machines (as stated earlier) with 16 GB ram, 500ish GB harddrives
- Oracle 11g / 12c databases
What are some recommendations for having local test databases and tool(s) that will make them easy to upgrade/manage and are lightweight?
Currently, I'm looking into VMWare, OracleVM, and Hyper-V on a Widows 8/Server 2012 box. Really just looking for Windows 7 compatible suggestions even though a Hyper-V solution would need Windows 8.