From: Mike Bayer Date: Fri, 21 Aug 2015 15:59:52 +0000 (-0400) Subject: - Repaired the render operation for the :class:`.ops.AlterColumnOp` object X-Git-Tag: rel_0_8_1~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=28d37a9c57e0fcdfbe129e763e8a7f1d108ed9ee;p=thirdparty%2Fsqlalchemy%2Falembic.git - Repaired the render operation for the :class:`.ops.AlterColumnOp` object to succeed when the "existing_type" field was not present. --- 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",