From: Mike Bayer Date: Fri, 30 Oct 2015 16:12:07 +0000 (-0400) Subject: - Adjusted the rendering for index expressions such that a :class:`.Column` X-Git-Tag: rel_0_8_4~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e88a366997a7e86e1f61855effbc809995270a68;p=thirdparty%2Fsqlalchemy%2Falembic.git - Adjusted the rendering for index expressions such that a :class:`.Column` object present in the source :class:`.Index` will not be rendered as table-qualified; e.g. the column name will be rendered alone. Table-qualified names here were failing on systems such as Postgresql. fixes #337 --- diff --git a/alembic/__init__.py b/alembic/__init__.py index bbd3e47f..56f6f5e9 100644 --- a/alembic/__init__.py +++ b/alembic/__init__.py @@ -1,6 +1,6 @@ from os import path -__version__ = '0.8.3' +__version__ = '0.8.4' package_dir = path.abspath(path.dirname(__file__)) diff --git a/alembic/autogenerate/render.py b/alembic/autogenerate/render.py index 9a646410..34233078 100644 --- a/alembic/autogenerate/render.py +++ b/alembic/autogenerate/render.py @@ -418,7 +418,8 @@ def _ident(name): def _render_potential_expr(value, autogen_context, wrap_in_text=True): if isinstance(value, sql.ClauseElement): if compat.sqla_08: - compile_kw = dict(compile_kwargs={'literal_binds': True}) + compile_kw = dict(compile_kwargs={ + 'literal_binds': True, "include_table": False}) else: compile_kw = {} diff --git a/docs/build/changelog.rst b/docs/build/changelog.rst index 04ca3157..187e7246 100644 --- a/docs/build/changelog.rst +++ b/docs/build/changelog.rst @@ -3,6 +3,18 @@ Changelog ========== +.. changelog:: + :version: 0.8.4 + + .. change:: + :tags: bug, autogenerate + :tickets: 337 + + Adjusted the rendering for index expressions such that a :class:`.Column` + object present in the source :class:`.Index` will not be rendered + as table-qualified; e.g. the column name will be rendered alone. + Table-qualified names here were failing on systems such as Postgresql. + .. changelog:: :version: 0.8.3 :released: October 16, 2015 diff --git a/tests/test_autogen_render.py b/tests/test_autogen_render.py index c113a233..cd4b1eb4 100644 --- a/tests/test_autogen_render.py +++ b/tests/test_autogen_render.py @@ -154,7 +154,7 @@ class AutogenRenderTest(TestBase): autogenerate.render_op_text(autogen_context, op_obj), """op.create_index('foo_idx', 't', \ ['x', 'y'], unique=False, """ - """postgresql_where=sa.text(!U"t.y = 'something'"))""" + """postgresql_where=sa.text(!U"y = 'something'"))""" ) else: eq_ignore_whitespace( @@ -178,7 +178,7 @@ unique=False, """ eq_ignore_whitespace( autogenerate.render_op_text(self.autogen_context, op_obj), "op.create_index('test_lower_code_idx', 'test', " - "[sa.text(!U'lower(test.code)')], unique=False)" + "[sa.text(!U'lower(code)')], unique=False)" ) @config.requirements.fail_before_sqla_080 @@ -210,7 +210,7 @@ unique=False, """ eq_ignore_whitespace( autogenerate.render_op_text(self.autogen_context, op_obj), "op.create_index('test_desc_code_idx', 'test', " - "[sa.text(!U'test.code DESC')], unique=False)" + "[sa.text(!U'code DESC')], unique=False)" ) def test_drop_index(self):