separated destination DB from container that connects and loads data
separated Ruby runner container from DB image. Now all images are separete and pure as they come from Docker Hub
reduced whole download, convert, upload process into 2 make commands
Goals:
Intentionally separate destination DB instance from all the Ruby-based conversion (and runtime) code. Intentionally separated psql runner from destination DB instance (now psql runs in a separate container and quits). This is to allow destination DB to be any instance of Postgres. Just feed credentials to this script and send data to destination Postgres instance.
Use pure vendor images for everything: Ruby, Postgres. Makes things run faster (no image build step) and allows easy swap of versions of Ruby and Postgres runtimes.
I tend to use this a lot now to bootstrap a demo server. Needed full automation and as few commands as possible. Also needed reentrant run (where if AdventureWorks.zip is already downloaded, script automatically just goes to next step. This allowed air-gapped use on internet-limited machines.
make
commandsGoals: