]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
- Repaired the render operation for the :class:`.ops.AlterColumnOp` object
authorMike Bayer <mike_mp@zzzcomputing.com>
Fri, 21 Aug 2015 15:59:52 +0000 (11:59 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Fri, 21 Aug 2015 15:59:52 +0000 (11:59 -0400)
to succeed when the "existing_type" field was not present.

alembic/autogenerate/render.py
docs/build/changelog.rst
tests/test_autogen_render.py

index 182f5de92ac248e75cd941f08342a63fe3ed07a0..e7a616efc8d94d3d1d659c87514a0953d81aec6f 100644 (file)
@@ -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)
index e0f8b7f209ae76950435e24fc2272b5f7d41e213..b1d72efc67424e6fcfcff2ee5c2e563990d6ede7 100644 (file)
@@ -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
index 989fe4be4a0fc385d2aa5ed368c76baf2787186e..e7010b5a65d128e8be2903ddee4b2bfaafcf028a 100644 (file)
@@ -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",