]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
- remember to add the SQLA prefix
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 17 Nov 2013 17:57:46 +0000 (12:57 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 17 Nov 2013 17:57:46 +0000 (12:57 -0500)
- fix the SQLA 0.7 case a bit

alembic/autogenerate/render.py
tests/test_autogenerate.py

index 10a455483eb512758e927b23a747daafc5d44573..8da00f7950d29a8fdc2d5789baf67089bde18bf2 100644 (file)
@@ -9,11 +9,18 @@ log = logging.getLogger(__name__)
 def _render_potential_expr(value, autogen_context):
     if isinstance(value, sql.ClauseElement):
         if compat.sqla_08:
-            return "text(%r)" % str(
-                value.compile(dialect=autogen_context['dialect'],
-                    compile_kwargs={'literal_binds': True}))
+            compile_kw = dict(compile_kwargs={'literal_binds': True})
         else:
-            return str(value.compile(dialect=autogen_context['dialect']))
+            compile_kw = {}
+
+        return "%(prefix)stext(%(sql)r)" % {
+            "prefix": _sqlalchemy_autogenerate_prefix(autogen_context),
+            "sql": str(
+                    value.compile(dialect=autogen_context['dialect'],
+                    **compile_kw)
+                )
+        }
+
     else:
         return repr(value)
 
index 4716f074e8bc691d8b8096d327fbf9e98651f787..db35e9f84d531761bbb9ecaf61152e83a71077b5 100644 (file)
@@ -1138,13 +1138,13 @@ class AutogenRenderTest(TestCase):
             eq_ignore_whitespace(
                 autogenerate.render._add_index(idx, autogen_context),
                 """op.create_index('foo_idx', 't', ['x', 'y'], unique=False, """
-                    """postgresql_where=text("t.y = 'something'"))"""
+                    """postgresql_where=sa.text("t.y = 'something'"))"""
             )
         else:
             eq_ignore_whitespace(
                 autogenerate.render._add_index(idx, autogen_context),
                 """op.create_index('foo_idx', 't', ['x', 'y'], unique=False, """
-                    """postgresql_where=text("t.y = %(y_1)s"))"""
+                    """postgresql_where=sa.text('t.y = %(y_1)s'))"""
             )
 
     # def test_render_add_index_func(self):