From: Mike Bayer Date: Wed, 13 Nov 2013 16:35:42 +0000 (-0500) Subject: wrap text() around it X-Git-Tag: rel_0_6_1~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c7e5194dabde33e57532563efff71584ef12973e;p=thirdparty%2Fsqlalchemy%2Falembic.git wrap text() around it --- diff --git a/alembic/autogenerate/render.py b/alembic/autogenerate/render.py index 610a4d47..10a45548 100644 --- a/alembic/autogenerate/render.py +++ b/alembic/autogenerate/render.py @@ -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 '' } diff --git a/tests/test_autogenerate.py b/tests/test_autogenerate.py index d61945db..4716f074 100644 --- a/tests/test_autogenerate.py +++ b/tests/test_autogenerate.py @@ -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):