Provision test environment for specific DB backends
Provide temporary database for each particular test.
Drop temporary database after each particular test.
Engine creation
Call the function without arguments to get admin connection. Admin connection required to create temporary database for each particular test. Otherwise use existing connection to recreate connection to the temporary database.
Controller to handle commands
::create: Create test database with random names. ::drop: Drop database created by previous command.