From 3a5f4a59495e60d7f979b80c7b33a06ad3de358f Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 10 Jun 2025 17:33:14 -0400 Subject: [PATCH] use integer division on maxlen this was coming out as a float and breaking alembic column compare Change-Id: I50160cfdb2f2933331d3c316c9985f24fb914242 (cherry picked from commit 61477cf8b8af2b5a7123764a564da056f1a5c999) --- lib/sqlalchemy/dialects/mssql/base.py | 2 +- lib/sqlalchemy/testing/suite/test_reflection.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py index d05dac084e..368abaf8ff 100644 --- a/lib/sqlalchemy/dialects/mssql/base.py +++ b/lib/sqlalchemy/dialects/mssql/base.py @@ -3776,7 +3776,7 @@ where MSNChar, MSNText, ): - kwargs["length"] = maxlen / 2 if maxlen != -1 else None + kwargs["length"] = maxlen // 2 if maxlen != -1 else None if collation: kwargs["collation"] = collation diff --git a/lib/sqlalchemy/testing/suite/test_reflection.py b/lib/sqlalchemy/testing/suite/test_reflection.py index dd126ee863..12ac5df1c5 100644 --- a/lib/sqlalchemy/testing/suite/test_reflection.py +++ b/lib/sqlalchemy/testing/suite/test_reflection.py @@ -2870,6 +2870,7 @@ class ComponentReflectionTestExtra(ComparesIndexes, fixtures.TestBase): assert isinstance(typ, sql_types.String) eq_(typ.length, 52) + assert isinstance(typ.length, int) @testing.requires.table_reflection def test_nullable_reflection(self, connection, metadata): -- 2.47.2