From 28d37a9c57e0fcdfbe129e763e8a7f1d108ed9ee Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Fri, 21 Aug 2015 11:59:52 -0400 Subject: [PATCH] - Repaired the render operation for the :class:`.ops.AlterColumnOp` object to succeed when the "existing_type" field was not present. --- alembic/autogenerate/render.py | 7 ++++--- docs/build/changelog.rst | 6 ++++++ tests/test_autogen_render.py | 10 ++++++++++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/alembic/autogenerate/render.py b/alembic/autogenerate/render.py index 182f5de9..e7a616ef 100644 --- a/alembic/autogenerate/render.py +++ b/alembic/autogenerate/render.py @@ -349,9 +349,10 @@ def _alter_column(autogen_context, op): autogen_context), 'tname': tname, 'cname': cname} - text += ",\n%sexisting_type=%s" % ( - indent, - _repr_type(existing_type, autogen_context)) + if existing_type is not None: + text += ",\n%sexisting_type=%s" % ( + indent, + _repr_type(existing_type, autogen_context)) if server_default is not False: rendered = _render_server_default( server_default, autogen_context) diff --git a/docs/build/changelog.rst b/docs/build/changelog.rst index e0f8b7f2..b1d72efc 100644 --- a/docs/build/changelog.rst +++ b/docs/build/changelog.rst @@ -6,6 +6,12 @@ Changelog .. changelog:: :version: 0.8.1 + .. change:: + :tags: bug, autogenerate + + Repaired the render operation for the :class:`.ops.AlterColumnOp` object + to succeed when the "existing_type" field was not present. + .. change:: :tags: bug, autogenerate :tickets: 318 diff --git a/tests/test_autogen_render.py b/tests/test_autogen_render.py index 989fe4be..e7010b5a 100644 --- a/tests/test_autogen_render.py +++ b/tests/test_autogen_render.py @@ -1058,6 +1058,16 @@ unique=False, """ "existing_type=sa.Integer(), nullable=True)" ) + def test_render_modify_nullable_no_existing_type(self): + op_obj = ops.AlterColumnOp( + "sometable", "somecolumn", + modify_nullable=True + ) + eq_ignore_whitespace( + autogenerate.render_op_text(self.autogen_context, op_obj), + "op.alter_column('sometable', 'somecolumn', nullable=True)" + ) + def test_render_modify_nullable_w_schema(self): op_obj = ops.AlterColumnOp( "sometable", "somecolumn", -- 2.47.2