caribou
caribou copied to clipboard
add support for other databases
thinking about adding support for other databases.
some thoughts:
- keep migrations from depending on caribou, for simplicity's sake
- pass in the cx string into migration methods, then people are free to do whatever they want with it ... use different db api adapters, sql alchemy, storm, use DDL transactions, etc.
should have this interface:
def upgrade(database): # and can support this kind of calls conn = database.get_connection() # vanilla dbapi connection, with default adapter conn = database.get_connection(pgpsql) # with a specific adaptpr # or if we want things to be explicit url = database.get_url() # this can be passed into sqlalchemy/whatever else