From ffe5a4deb4c4b8039a75e47c6a1489a5cea3a949 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 17 Nov 2013 12:57:46 -0500 Subject: [PATCH] - remember to add the SQLA prefix - fix the SQLA 0.7 case a bit --- alembic/autogenerate/render.py | 15 +++++++++++---- tests/test_autogenerate.py | 4 ++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/alembic/autogenerate/render.py b/alembic/autogenerate/render.py index 10a45548..8da00f79 100644 --- a/alembic/autogenerate/render.py +++ b/alembic/autogenerate/render.py @@ -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) diff --git a/tests/test_autogenerate.py b/tests/test_autogenerate.py index 4716f074..db35e9f8 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=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): -- 2.47.3