]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
wrap text() around it
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 13 Nov 2013 16:35:42 +0000 (11:35 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 13 Nov 2013 16:35:42 +0000 (11:35 -0500)
alembic/autogenerate/render.py
tests/test_autogenerate.py

index 610a4d47de03384abd23ff755e2929efa4fd5226..10a455483eb512758e927b23a747daafc5d44573 100644 (file)
@@ -9,13 +9,13 @@ log = logging.getLogger(__name__)
 def _render_potential_expr(value, autogen_context):
     if isinstance(value, sql.ClauseElement):
         if compat.sqla_08:
-            return str(
+            return "text(%r)" % str(
                 value.compile(dialect=autogen_context['dialect'],
                     compile_kwargs={'literal_binds': True}))
         else:
             return str(value.compile(dialect=autogen_context['dialect']))
     else:
-        return str(value)
+        return repr(value)
 
 def _add_table(table, autogen_context):
     text = "%(prefix)screate_table(%(tablename)r,\n%(args)s" % {
@@ -63,7 +63,7 @@ def _add_index(index, autogen_context):
         'unique': index.unique or False,
         'schema': (", schema='%s'" % index.table.schema) if index.table.schema else '',
         'kwargs': (', '+', '.join(
-            ["%s=%r" % (key, _render_potential_expr(val, autogen_context))
+            ["%s=%s" % (key, _render_potential_expr(val, autogen_context))
                 for key, val in index.kwargs.items()]))\
             if len(index.kwargs) else ''
     }
index d61945db0e081409dfd1595187e41d52bdf869b0..4716f074e8bc691d8b8096d327fbf9e98651f787 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="t.y = 'something'")"""
+                    """postgresql_where=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='t.y = %(y_1)s')"""
+                    """postgresql_where=text("t.y = %(y_1)s"))"""
             )
 
     # def test_render_add_index_func(self):