]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
Check for URL.create()
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 23 Aug 2020 14:44:44 +0000 (10:44 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 23 Aug 2020 14:44:44 +0000 (10:44 -0400)
in the possibly upcoming I28a0a471d80792fa8c28f4fa573d6352966a4a79
we will want to use URL.create(); establish compat.

Change-Id: I397aae93ffdd34205b57a27e75f3801fcf459db7

alembic/testing/assertions.py
alembic/util/sqla_compat.py

index e43b3d06c64771d6331197f8dc02258d132f4269..b09e09f3b071667c5c761ea9497d70f3edae9d0e 100644 (file)
@@ -13,6 +13,7 @@ from sqlalchemy.testing.assertions import is_true  # noqa
 from sqlalchemy.testing.assertions import ne_  # noqa
 from sqlalchemy.util import decorator
 
+from ..util import sqla_compat
 from ..util.compat import py3k
 
 
@@ -65,9 +66,8 @@ def _get_dialect(name):
     if name is None or name == "default":
         return default.DefaultDialect()
     else:
-        from sqlalchemy.engine import url
 
-        d = url.URL(name).get_dialect()()
+        d = sqla_compat._create_url(name).get_dialect()()
 
         if name == "postgresql":
             d.implicit_returning = True
index 94127f926fcbbfd9f74b01dd89e894fd7143fb28..5fc5e05acc3160b4e8c3a0f3a8fcf25a579dff3f 100644 (file)
@@ -5,6 +5,7 @@ from sqlalchemy import inspect
 from sqlalchemy import schema
 from sqlalchemy import sql
 from sqlalchemy import types as sqltypes
+from sqlalchemy.engine import url
 from sqlalchemy.ext.compiler import compiles
 from sqlalchemy.schema import CheckConstraint
 from sqlalchemy.schema import Column
@@ -46,6 +47,13 @@ except ImportError:
 AUTOINCREMENT_DEFAULT = "auto"
 
 
+def _create_url(*arg, **kw):
+    if hasattr(url.URL, "create"):
+        return url.URL.create(*arg, **kw)
+    else:
+        return url.URL(*arg, **kw)
+
+
 def _connectable_has_table(connectable, tablename, schemaname):
     if sqla_14:
         return inspect(connectable).has_table(tablename, schemaname)