From: Mike Bayer Date: Mon, 21 Aug 2017 21:55:26 +0000 (-0400) Subject: - try to get PG database create to be more reliable X-Git-Tag: origin~56 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ddefe6cf8c84a91c089100d34478b6346ed115ea;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - try to get PG database create to be more reliable Change-Id: I9c9d101547f4484af447db924dc06afd0392a03e --- diff --git a/lib/sqlalchemy/testing/provision.py b/lib/sqlalchemy/testing/provision.py index ae82a2e890..7ea6a569cd 100644 --- a/lib/sqlalchemy/testing/provision.py +++ b/lib/sqlalchemy/testing/provision.py @@ -167,7 +167,7 @@ def _pg_create_db(cfg, eng, ident): except Exception: pass currentdb = conn.scalar("select current_database()") - for attempt in range(3): + for attempt in range(10): try: conn.execute( "CREATE DATABASE %s TEMPLATE %s" % (ident, currentdb)) @@ -178,6 +178,15 @@ def _pg_create_db(cfg, eng, ident): else: raise else: + time.sleep(.5) + result = conn.execute( + "SELECT datname FROM pg_database " + "where datname=%s" % ident) + row = result.first() + if not row: + raise Exception( + "Database named %s did not get " + "created, in engine %r" % (ident, eng.url)) break