From: Mike Bayer Date: Wed, 3 Feb 2016 23:26:00 +0000 (-0500) Subject: - add multi-database provisioning for oracle X-Git-Tag: rel_1_1_0b1~98^2~48 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c01d11907cbc98ddefe323c6115bc954b908f101;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - add multi-database provisioning for oracle --- diff --git a/lib/sqlalchemy/testing/provision.py b/lib/sqlalchemy/testing/provision.py index ce60e99d3c..555a75b533 100644 --- a/lib/sqlalchemy/testing/provision.py +++ b/lib/sqlalchemy/testing/provision.py @@ -235,5 +235,34 @@ def _mysql_drop_db(cfg, eng, ident): pass +@_create_db.for_db("oracle") +def _oracle_create_db(cfg, eng, ident): + with eng.connect() as conn: + conn.execute("create user %s identified by xe" % ident) + conn.execute("create user %s_ts1 identified by xe" % ident) + conn.execute("create user %s_ts2 identified by xe" % ident) + conn.execute("grant dba to %s" % (ident, )) + + +@_configure_follower.for_db("oracle") +def _oracle_configure_follower(config, ident): + config.test_schema = "%s_ts1" % ident + config.test_schema_2 = "%s_ts2" % ident + + +@_drop_db.for_db("oracle") +def _oracle_drop_db(cfg, eng, ident): + with eng.connect() as conn: + conn.execute("drop user %s" % ident) + conn.execute("drop user %s_ts1" % ident) + conn.execute("drop user %s_ts2" % ident) + + +@_follower_url_from_main.for_db("oracle") +def _oracle_follower_url_from_main(url, ident): + url = sa_url.make_url(url) + url.username = ident + url.password = 'xe' + return url