]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
Convert drop_constraint generation to use f-strings
authord3 <david.hills@florincourt.com>
Tue, 29 Aug 2023 10:15:25 +0000 (11:15 +0100)
committerd3 <david.hills@florincourt.com>
Tue, 29 Aug 2023 10:15:25 +0000 (11:15 +0100)
alembic/autogenerate/render.py

index b1fccc52859194e05619189361dc987c0a767e75..bfc05886067aa08f4f96e918cd61ef30e7257aec 100644 (file)
@@ -397,24 +397,21 @@ def _add_check_constraint(constraint, autogen_context):
 def _drop_constraint(
     autogen_context: AutogenContext, op: ops.DropConstraintOp
 ) -> str:
-    if autogen_context._has_batch:
-        template = "%(prefix)sdrop_constraint" "(%(name)r%(type)s)"
-    else:
-        template = (
-            "%(prefix)sdrop_constraint"
-            "(%(name)r, '%(table_name)s'%(schema)s%(type)s)"
-        )
+    prefix = _alembic_autogenerate_prefix(autogen_context)
+    name = _render_gen_name(autogen_context, op.constraint_name)
+    schema = _ident(op.schema) if op.schema else None
+    type_ = _ident(op.constraint_type) if op.constraint_type else None
 
-    text = template % {
-        "prefix": _alembic_autogenerate_prefix(autogen_context),
-        "name": _render_gen_name(autogen_context, op.constraint_name),
-        "table_name": _ident(op.table_name),
-        "type": (", type_=%r" % _ident(op.constraint_type))
-        if op.constraint_type
-        else "",
-        "schema": (", schema=%r" % _ident(op.schema)) if op.schema else "",
-    }
-    return text
+    params_strs = []
+    params_strs.append(repr(name))
+    if not autogen_context._has_batch:
+        params_strs.append(repr(_ident(op.table_name)))
+        if schema is not None:
+            params_strs.append(f"schema={schema!r}")
+    if type_ is not None:
+        params_strs.append(f"type_={type_!r}")
+
+    return f"{prefix}drop_constraint({', '.join(params_strs)})"
 
 
 @renderers.dispatch_for(ops.AddColumnOp)