]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
dont use server_default render_item for SQL compare
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 16 Feb 2023 02:34:30 +0000 (21:34 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 16 Feb 2023 02:49:48 +0000 (21:49 -0500)
Removed a mis-use of the
:paramref:`.EnvironmentContext.configure.render_item` callable where the
"server_default" renderer would be erroneously used within the server
default comparison process, which is working against SQL expressions, not
Python code.

Change-Id: Id6fad1e6f5ac0a68bbd0e6b7e6088e451bf6dc2b
References: #641
Fixes: #1180
alembic/autogenerate/compare.py
docs/build/unreleased/1180.rst [new file with mode: 0644]

index 8301e34c80a69cab6fc135729cae71a3382af0c4..828a4cd5f5557ebf71526d9f29d679ab1559bbdf 100644 (file)
@@ -21,7 +21,6 @@ from sqlalchemy import types as sqltypes
 from sqlalchemy.util import OrderedSet
 
 from alembic.ddl.base import _fk_spec
-from .render import _user_defined_render
 from .. import util
 from ..operations import ops
 from ..util import sqla_compat
@@ -1003,11 +1002,6 @@ def _render_server_default_for_compare(
     metadata_col: Column,
     autogen_context: AutogenContext,
 ) -> Optional[str]:
-    rendered = _user_defined_render(
-        "server_default", metadata_default, autogen_context
-    )
-    if rendered is not False:
-        return rendered
 
     if isinstance(metadata_default, sa_schema.DefaultClause):
         if isinstance(metadata_default.arg, str):
diff --git a/docs/build/unreleased/1180.rst b/docs/build/unreleased/1180.rst
new file mode 100644 (file)
index 0000000..e2771ad
--- /dev/null
@@ -0,0 +1,9 @@
+.. change::
+    :tags: bug, autogenerate
+    :tickets: 1180
+
+    Removed a mis-use of the
+    :paramref:`.EnvironmentContext.configure.render_item` callable where the
+    "server_default" renderer would be erroneously used within the server
+    default comparison process, which is working against SQL expressions, not
+    Python code.