Migrating from shared development database to single database for each developer

We are planning migrating from single shared development database model (for local deployments and CI) to individual database for each developer per each version branch, requiring easy back off to initial set of data for that version.

Problem with shared database is obvious. Little mistake or experiment from one developer could potentially break all other deployments.

  • How to stop creating extra instances when using google managed vms?
  • Unable to execute Postgresql commands with python in seperate docker containers
  • Is it possible to log into Gitlabs container registry without using the CI runner?
  • Mount Host Directory to Wildfly deployment directory
  • What is the difference between Docker Host and Container
  • Docker + Kubernetes build
  • First thing to come in my mind considering sharing of local, disposable and predictable database instances (or local environments in general) is to use either Vagrant or Docker. Conditions and restrictions are the following:

    • Each developer should be able to pull version specific environment containing the database instance with initial set of data, and start coding right away, performing local deployments with minimum amount of configuration and interference.
    • Each local environment should be as isolated and indenpendent as possible
    • Environment images should be under version control and easily maintained
    • Environment should be easy to reset to consistent initial state
    • Solution should be compatible with weblogic deployments
    • Local environment shouldn’t force IDE or other development tools (i.e. boundary between host and virtual environment should be transparent)

    Which approach would better fill the requirements, Vagrant or Docker, or maybe both? Would Ansible be useful tool to automatically provision the VM / container with weblogic server, database and other infrastructure components, wiring everything together with minimum effort from developer?

    Is there some tutorials which would aid me at beginning of this task?

  • Are docker-hosted databases somehow exempt from backup best practices?
  • What is the correct way to deploy EAR on Weblogic with Docker
  • rolling deployment for docker containers behind load balancer
  • Controlling the Data of a Database Docker Container
  • Remote `docker-compose build`: workaround slow connections
  • Docker application deployment
  • Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.