From: Federico Caselli Date: Thu, 22 Jan 2026 20:05:15 +0000 (+0100) Subject: Omit metadata kw from Enum repr X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b1e299b94a32ed48d0edc0fea59afebb8834b79d;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Omit metadata kw from Enum repr Do not render metadata in the repr of enum. Change-Id: Ic65e9572ff24af8d48e15277cbc824f7c5ce845a References: #10604 --- diff --git a/lib/sqlalchemy/sql/sqltypes.py b/lib/sqlalchemy/sql/sqltypes.py index 98e5783a3d..22fcfb0a69 100644 --- a/lib/sqlalchemy/sql/sqltypes.py +++ b/lib/sqlalchemy/sql/sqltypes.py @@ -1851,7 +1851,7 @@ class Enum(String, SchemaType, Emulated, TypeEngine[Union[str, enum.Enum]]): ("schema", None), ], to_inspect=[Enum, SchemaType], - omit_kwarg=["schema", "inherit_schema"], + omit_kwarg=["schema", "inherit_schema", "metadata"], ) def as_generic(self, allow_nulltype=False): diff --git a/test/sql/test_types.py b/test/sql/test_types.py index 17b947f45a..d68880c3f1 100644 --- a/test/sql/test_types.py +++ b/test/sql/test_types.py @@ -2870,6 +2870,12 @@ class EnumTest(AssertsCompiledSQL, fixtures.TablesTest): "Enum('x', 'y', length=255)", ) + def test_repr_five(self): + # this tests that alembic autogenerate renders the enum correctly + # without the metadata since that isn't needed. + e = Enum("x", "y", length=42, metadata=MetaData(), schema="foo") + eq_(repr(e), "Enum('x', 'y', length=42, schema='foo')") + def test_length_native(self): e = Enum("x", "y", "long", length=42) eq_(e.length, 42)