#39 caps sqlalchemy[asyncio]<2.1 because the suite cannot pass on 2.1 today. Three things stand between this repo and 2.1; the first two are upstream.
- advanced-alchemy does not translate 2.1 integrity errors with asyncpg (litestar-org/advanced-alchemy#803, fix PR #807 open). Duplicate username and unknown member id return 500 instead of 409/400:
test_register_rejects_duplicate_username, test_create_chat_rejects_unknown_member_id. Verified independent of anything in this repo.
- advanced-alchemy's mixins use
@declarative_mixin, deprecated in 2.1 (#804). With filterwarnings = ["error"] the warning is a collection error for every test module. Until upstream drops it, an ignore scoped to that message and sqlalchemy.exc.SADeprecationWarning is needed.
- This repo's two
lazy="noload" relationships (ChatsTable.members, ChatsTable.last_message). noload is deprecated in 2.1 and the warning surfaces from configure_mappers(). lazy="raise" is the replacement: with it, plus the ignore from (2), the full suite on 2.1.1 passed every test except the two from (1). Both relationships are viewonly and always loaded explicitly with selectinload, so raise matches the intent.
Lift the cap when a released advanced-alchemy closes #803, applying (3) and, if #804 is still open, (2) in the same PR.
#39 caps
sqlalchemy[asyncio]<2.1because the suite cannot pass on 2.1 today. Three things stand between this repo and 2.1; the first two are upstream.test_register_rejects_duplicate_username,test_create_chat_rejects_unknown_member_id. Verified independent of anything in this repo.@declarative_mixin, deprecated in 2.1 (#804). Withfilterwarnings = ["error"]the warning is a collection error for every test module. Until upstream drops it, an ignore scoped to that message andsqlalchemy.exc.SADeprecationWarningis needed.lazy="noload"relationships (ChatsTable.members,ChatsTable.last_message).noloadis deprecated in 2.1 and the warning surfaces fromconfigure_mappers().lazy="raise"is the replacement: with it, plus the ignore from (2), the full suite on 2.1.1 passed every test except the two from (1). Both relationships areviewonlyand always loaded explicitly withselectinload, soraisematches the intent.Lift the cap when a released advanced-alchemy closes #803, applying (3) and, if #804 is still open, (2) in the same PR.