Your message dated Sun, 06 Apr 2025 17:04:27 +0000
with message-id <[email protected]>
and subject line Bug#1102177: fixed in flask-sqlalchemy 3.1.1-4
has caused the Debian Bug report #1102177,
regarding flask-sqlalchemy: autopkgtest needs update for new version of 
sqlalchemy: test already defines a '__table__'
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1102177: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1102177
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: flask-sqlalchemy
Version: 3.1.1-3
Severity: serious
X-Debbugs-CC: [email protected]
Tags: sid trixie
User: [email protected]
Usertags: needs-update
Control: affects -1 src:sqlalchemy

Dear maintainer(s),

With a recent upload of sqlalchemy the autopkgtest of flask-sqlalchemy fails in testing when that autopkgtest is run with the binary packages of sqlalchemy from unstable. It passes when run with only packages from testing. In tabular form:

                       pass            fail
sqlalchemy             from testing    2.0.40+ds1-1
flask-sqlalchemy       from testing    3.1.1-3
all others             from testing    from testing

I copied some of the output at the bottom of this report.

Currently this regression is blocking the migration of sqlalchemy to testing [1]. Of course, sqlalchemy shouldn't just break your autopkgtest (or even worse, your package), but it seems to me that the change in sqlalchemy was intended and your package needs to update to the new situation.

If this is a real problem in your package (and not only in your autopkgtest), the right binary package(s) from sqlalchemy should really add a versioned Breaks on the unfixed version of (one of your) package(s). Note: the Breaks is nice even if the issue is only in the autopkgtest as it helps the migration software to figure out the right versions to combine in the tests.

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[1] https://qa.debian.org/excuses.php?package=sqlalchemy

https://ci.debian.net/data/autopkgtest/testing/amd64/f/flask-sqlalchemy/59452516/log.gz

=================================== FAILURES =================================== 33s ___________________________ test_explicit_table[db2] ___________________________
 33s  33s db = <SQLAlchemy>
 33s  33s     def test_explicit_table(db: SQLAlchemy) -> None:
 33s         user_table = db.Table(
 33s             "user",
 33s             sa.Column("id", sa.Integer, primary_key=True),
 33s             bind_key="auth",
 33s         )
 33s      33s >       class User(db.Model):
33s 33s tests/test_model_bind.py:85: 33s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 33s /usr/lib/python3/dist-packages/flask_sqlalchemy/model.py:124: in __init_subclass__
 33s     super().__init_subclass__(**kwargs)
33s /usr/lib/python3/dist-packages/flask_sqlalchemy/model.py:214: in __init_subclass__
 33s     super().__init_subclass__(**kwargs)
33s /usr/lib/python3/dist-packages/sqlalchemy/orm/decl_api.py:622: in __init_subclass__
 33s     super().__init_subclass__(**kw)
33s /usr/lib/python3/dist-packages/sqlalchemy/orm/decl_api.py:842: in __init_subclass__
 33s     _as_declarative(cls._sa_registry, cls, cls.__dict__)
33s /usr/lib/python3/dist-packages/sqlalchemy/orm/decl_base.py:244: in _as_declarative
 33s     return _MapperConfig.setup_mapping(registry, cls, dict_, None, {})
33s /usr/lib/python3/dist-packages/sqlalchemy/orm/decl_base.py:325: in setup_mapping
 33s     return _ClassScanMapperConfig(
33s /usr/lib/python3/dist-packages/sqlalchemy/orm/decl_base.py:563: in __init__
 33s     self._setup_dataclasses_transforms()
33s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 33s 33s self = <sqlalchemy.orm.decl_base._ClassScanMapperConfig object at 0x7fe767c858b0>
 33s  33s     def _setup_dataclasses_transforms(self) -> None:
 33s         dataclass_setup_arguments = self.dataclass_setup_arguments
 33s         if not dataclass_setup_arguments:
 33s             return
 33s      33s         # can't use is_dataclass since it uses hasattr
 33s         if "__dataclass_fields__" in self.cls.__dict__:
 33s             raise exc.InvalidRequestError(
33s f"Class {self.cls} is already a dataclass; ensure that " 33s "base classes / decorator styles of establishing dataclasses "
 33s                 "are not being mixed. "
 33s                 "This can happen if a class that inherits from "
33s "'MappedAsDataclass', even indirectly, is been mapped with "
 33s                 "'@registry.mapped_as_dataclass'"
 33s             )
33s 33s # can't create a dataclass if __table__ is already there. This would 33s # fail an assertion when calling _get_arguments_for_make_dataclass: 33s # assert False, "Mapped[] received without a mapping declaration"
 33s         if "__table__" in self.cls.__dict__:
 33s >           raise exc.InvalidRequestError(
 33s                 f"Class {self.cls} already defines a '__table__'. "
33s "ORM Annotated Dataclasses do not support a pre-existing "
 33s                 "'__table__' element"
 33s             )
33s E sqlalchemy.exc.InvalidRequestError: Class <class 'test_model_bind.test_explicit_table.<locals>.User'> already defines a '__table__'. ORM Annotated Dataclasses do not support a pre-existing '__table__' element 33s 33s /usr/lib/python3/dist-packages/sqlalchemy/orm/decl_base.py:1074: InvalidRequestError 33s ___________________________ test_explicit_table[db4] ___________________________
 33s  33s db = <SQLAlchemy>
 33s  33s     def test_explicit_table(db: SQLAlchemy) -> None:
 33s         user_table = db.Table(
 33s             "user",
 33s             sa.Column("id", sa.Integer, primary_key=True),
 33s             bind_key="auth",
 33s         )
 33s      33s >       class User(db.Model):
33s 33s tests/test_model_bind.py:85: 33s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 33s /usr/lib/python3/dist-packages/flask_sqlalchemy/model.py:124: in __init_subclass__
 33s     super().__init_subclass__(**kwargs)
33s /usr/lib/python3/dist-packages/flask_sqlalchemy/model.py:214: in __init_subclass__
 33s     super().__init_subclass__(**kwargs)
33s /usr/lib/python3/dist-packages/sqlalchemy/orm/decl_api.py:622: in __init_subclass__
 33s     super().__init_subclass__(**kw)
33s /usr/lib/python3/dist-packages/sqlalchemy/orm/decl_api.py:964: in __init_subclass__
 33s     _as_declarative(cls._sa_registry, cls, cls.__dict__)
33s /usr/lib/python3/dist-packages/sqlalchemy/orm/decl_base.py:244: in _as_declarative
 33s     return _MapperConfig.setup_mapping(registry, cls, dict_, None, {})
33s /usr/lib/python3/dist-packages/sqlalchemy/orm/decl_base.py:325: in setup_mapping
 33s     return _ClassScanMapperConfig(
33s /usr/lib/python3/dist-packages/sqlalchemy/orm/decl_base.py:563: in __init__
 33s     self._setup_dataclasses_transforms()
33s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 33s 33s self = <sqlalchemy.orm.decl_base._ClassScanMapperConfig object at 0x7fe767c1ab70>
 33s  33s     def _setup_dataclasses_transforms(self) -> None:
 33s         dataclass_setup_arguments = self.dataclass_setup_arguments
 33s         if not dataclass_setup_arguments:
 33s             return
 33s      33s         # can't use is_dataclass since it uses hasattr
 33s         if "__dataclass_fields__" in self.cls.__dict__:
 33s             raise exc.InvalidRequestError(
33s f"Class {self.cls} is already a dataclass; ensure that " 33s "base classes / decorator styles of establishing dataclasses "
 33s                 "are not being mixed. "
 33s                 "This can happen if a class that inherits from "
33s "'MappedAsDataclass', even indirectly, is been mapped with "
 33s                 "'@registry.mapped_as_dataclass'"
 33s             )
33s 33s # can't create a dataclass if __table__ is already there. This would 33s # fail an assertion when calling _get_arguments_for_make_dataclass: 33s # assert False, "Mapped[] received without a mapping declaration"
 33s         if "__table__" in self.cls.__dict__:
 33s >           raise exc.InvalidRequestError(
 33s                 f"Class {self.cls} already defines a '__table__'. "
33s "ORM Annotated Dataclasses do not support a pre-existing "
 33s                 "'__table__' element"
 33s             )
33s E sqlalchemy.exc.InvalidRequestError: Class <class 'test_model_bind.test_explicit_table.<locals>.User'> already defines a '__table__'. ORM Annotated Dataclasses do not support a pre-existing '__table__' element 33s 33s /usr/lib/python3/dist-packages/sqlalchemy/orm/decl_base.py:1074: InvalidRequestError 33s =============================== warnings summary ===============================
 33s tests/test_model.py: 20 warnings
33s /usr/lib/python3/dist-packages/sqlalchemy/sql/schema.py:3625: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
 33s     return util.wrap_callable(lambda ctx: fn(), fn)  # type: ignore
33s 33s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 33s =========================== short test summary info ============================ 33s FAILED tests/test_model_bind.py::test_explicit_table[db2] - sqlalchemy.exc.In... 33s FAILED tests/test_model_bind.py::test_explicit_table[db4] - sqlalchemy.exc.In... 33s ================== 2 failed, 450 passed, 20 warnings in 2.94s ==================
 34s autopkgtest [06:44:56]: test smoke

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature


--- End Message ---
--- Begin Message ---
Source: flask-sqlalchemy
Source-Version: 3.1.1-4
Done: Carsten Schoenert <[email protected]>

We believe that the bug you reported is fixed in the latest version of
flask-sqlalchemy, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Carsten Schoenert <[email protected]> (supplier of updated 
flask-sqlalchemy package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Sun, 06 Apr 2025 18:30:32 +0200
Source: flask-sqlalchemy
Architecture: source
Version: 3.1.1-4
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <[email protected]>
Changed-By: Carsten Schoenert <[email protected]>
Closes: 1102177
Changes:
 flask-sqlalchemy (3.1.1-4) unstable; urgency=medium
 .
   * [fe06983] Rebuild patch queue from patch-queue branch
     Added patch:
     tests-MappedAsDataclass-skip-table-binding.patch
     (picked from Ubuntu, thanks to James Page!)
     (Closes: #1102177)
   * [fb9a6bf] d/control: Update Standards-Version to 4.7.2
     No further changes needed.
   * [c2bb49d] d/copyright: Update year data
Checksums-Sha1:
 26005e58a8d7d03643786d3e8d27345ee63384cb 2731 flask-sqlalchemy_3.1.1-4.dsc
 8480672a1093290242a62d8990023ce84b8d7ba1 7792 
flask-sqlalchemy_3.1.1-4.debian.tar.xz
 8589d94298fdfa2050495142eb9b233742b16318 8505 
flask-sqlalchemy_3.1.1-4_amd64.buildinfo
Checksums-Sha256:
 57d3bc91fd2bbc67b6b95364e75ca8304444940d522d7bf427685e2e875d3f28 2731 
flask-sqlalchemy_3.1.1-4.dsc
 b185bb50ddcacb2730cdd2c16830951a86ce9dd1356aadbae0420c5a48fb7538 7792 
flask-sqlalchemy_3.1.1-4.debian.tar.xz
 ae31b9237c5fde8d1e0271c99ad49c2b29e27e89168b5bbc88ea9b8a61a0bcd7 8505 
flask-sqlalchemy_3.1.1-4_amd64.buildinfo
Files:
 2a532777e14450a06703d6916580614f 2731 python optional 
flask-sqlalchemy_3.1.1-4.dsc
 59665cfad0bf4badc5cec1ba06ac2daf 7792 python optional 
flask-sqlalchemy_3.1.1-4.debian.tar.xz
 d850a4cb21f9e0c17cd35ac85dc92303 8505 python optional 
flask-sqlalchemy_3.1.1-4_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJMBAEBCgA2FiEEtw38bxNP7PwBHmKqgwFgFCUdHbAFAmfyrugYHGMuc2Nob2Vu
ZXJ0QHQtb25saW5lLmRlAAoJEIMBYBQlHR2wsv0P/03JfPcSq2sPh30+Ro4OzKrz
0xgWPcIwvcfHXoLtyJxLaME9ismcblfxdkNoqtm7UTPUDBcjFexCnf17fF+CaDmb
+BV1fpbWSJTjRzvk0Dts5wRonXGJVTlI7r66e14clYjFNIdaXVq6Oep4wKjA21gM
RKulnGQiDiNDqqWXeDDmo9/Ld/5UPaHV4w8su5UEKVodCI47yNPgPrYchqKbMIJb
eaLP136BanfggxXz3tLYisdrTrpb8yZYAka4vMWXzPjF30h+D3Ey3clHIqT3IgDJ
mlXWI/L6UZyeJNemZkG12UciO9qDW69hx2cQYWLrWXnXXyrTTnqcWnDjGy2H1wxj
W4fSx5ZHaJRbLkvuNaz8F0hlJTr0IAozNPHvYRYcjDVIIhPh/FUrBzqLWza4itMa
VIiJSpnRqSlC5Psm0caZdDlzrsdzJRz/OAvEcyPIkZS/EgJ4b52PF+kTJqKPYfw9
lJ+1NcakGbt/VhIOuPI3D41f2TzgwxDPbWU3XX2yK++oZ2gH18h1neBoo/iVL0oW
0g5fXRsoakuUNP/+nByblv3ol2y4bSmisioufkCZ24afrtS9CPG/XVgYkSwXdMrB
p2SSehsDhrrwCR0w0r5mWQvxGPYjXN42AJfHL9VoCwa2POb1ElFYhleXQEb4B+An
IMdTySvKMr9q2xL/jxAo
=LmDu
-----END PGP SIGNATURE-----

Attachment: pgprfql8infn_.pgp
Description: PGP signature


--- End Message ---

Reply via email to