]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
fix AlterColumnOp modify_name ignorance 1636/head
authorel <23kaplun@gmail.com>
Fri, 28 Mar 2025 12:14:44 +0000 (15:14 +0300)
committerel <23kaplun@gmail.com>
Fri, 28 Mar 2025 12:14:44 +0000 (15:14 +0300)
fixes https://github.com/sqlalchemy/alembic/issues/1635

alembic/autogenerate/render.py
tests/test_autogen_render.py

index 50c51fa9304a13b038c24397c112efbec3167058..ffc277db81d174333d0f8892d28e464343ebcc37 100644 (file)
@@ -505,6 +505,7 @@ def _alter_column(
     type_ = op.modify_type
     nullable = op.modify_nullable
     comment = op.modify_comment
+    newname = op.modify_name
     autoincrement = op.kw.get("autoincrement", None)
     existing_type = op.existing_type
     existing_nullable = op.existing_nullable
@@ -533,6 +534,8 @@ def _alter_column(
         rendered = _render_server_default(server_default, autogen_context)
         text += ",\n%sserver_default=%s" % (indent, rendered)
 
+    if newname is not None:
+        text += ",\n%snew_column_name=%r" % (indent, newname)
     if type_ is not None:
         text += ",\n%stype_=%s" % (indent, _repr_type(type_, autogen_context))
     if nullable is not None:
index 600e57834fdf07d89479c774228f21aad6af2544..ed31183e8c0a2242c0dec692f751ccb3e72e3623 100644 (file)
@@ -1327,6 +1327,18 @@ class AutogenRenderTest(TestBase):
             {"from mypackage import MySpecialType"},
         )
 
+    def test_render_modify_name(self):
+        op_obj = ops.AlterColumnOp(
+            "sometable",
+            "somecolumn",
+            modify_name="newcolumnname",
+        )
+        eq_ignore_whitespace(
+            autogenerate.render_op_text(self.autogen_context, op_obj),
+            "op.alter_column('sometable', 'somecolumn', "
+            "new_column_name='newcolumnname')",
+        )
+
     def test_render_modify_type(self):
         op_obj = ops.AlterColumnOp(
             "sometable",