Use migration scripts to migrate up and down, based on user input
Issue commands to a connection, and map database related things
Model a database and actions that can be taken on it
Model a database table and the actions that can be taken on it
Model a row in a database
Used by scripts to create, drop, and alter a table
This can be a list of basically anything, in this case it will be a list of connections by their name
Issue command to an adapter based upon type
a factory that returns the type of adapter to connection that we want to work witho