sqlmodel icon indicating copy to clipboard operation
sqlmodel copied to clipboard

Constrain SQLAlchemy to <=1.4.35

Open RobertRosca opened this issue 3 years ago • 6 comments

SQLAlchemy changes in versions greater than 1.4.35 break relationships and break even the examples in the docs, the latest working version seems to be 1.4.35.

This has been the cause of at least two issues (https://github.com/tiangolo/sqlmodel/issues/255, https://github.com/tiangolo/sqlmodel/issues/315) but probably more.

The breaking change wasn't picked up by dependabot because the current constraint of <1.5.0 does not register any releases under 1.5.0 as 'new' since the version constraint does not have to be bumped up for it. By limiting it to <= dependabot will start bumping up the upper end of the constraints.

PR https://github.com/tiangolo/sqlmodel/pull/322 fixes this with a simple code change but hasn't been merged yet, the constraint range change should still be made so that dependabot will automatically create PRs and run tests on newer versions of SQLAlchemy.

RobertRosca avatar Jun 29 '22 07:06 RobertRosca

Since sqlmodel has been broken since, I guess, May (?) with this PR unmerged since May, should I assume sqlmodel is unmaintained? Not a gripe at all, just trying it out and wondering if the project still active.

cassieopea avatar Jun 29 '22 20:06 cassieopea

This has been the cause of at least two issues (https://github.com/tiangolo/sqlmodel/issues/255, https://github.com/tiangolo/sqlmodel/issues/315) but probably more.

Note that https://github.com/tiangolo/sqlmodel/issues/255 was opened on Feb 28, while SQLAlchemy 1.4.36 was released on Apr 6, 2022.

byrman avatar Jun 29 '22 22:06 byrman

Since sqlmodel has been broken since, I guess, May (?) with this PR unmerged since May, should I assume sqlmodel is unmaintained? Not a gripe at all, just trying it out and wondering if the project still active.

I think @tiangolo is just pretty busy right now. The rate of new issues and PRs is pretty high so it's easy to miss something like this, especially if you're relying on dependabot to test and flag these kind of issues. Changing the constraint from < to <= should help a bit since it'll bump up the version and run the tests for new SQLAlchemy versions in the future.

RobertRosca avatar Jul 01 '22 08:07 RobertRosca

This has been the cause of at least two issues (#255, #315) but probably more.

Note that #255 was opened on Feb 28, while SQLAlchemy 1.4.36 was released on Apr 6, 2022.

Aha, interesting, to be honest I was lazy and just searched for 1.4.35 and assumed that any issue where people said installing that version fixed the problem was related to this. This comment https://github.com/tiangolo/sqlmodel/issues/255#issuecomment-1151481402 mentioned that pinning the version to <=1.4.35 fixed the problem so it seemed related, but yeah based on the dates that doesn't make sense :thinking:

RobertRosca avatar Jul 01 '22 08:07 RobertRosca

Thanks @RobertRosca! Good to know it's still active.

cassieopea avatar Jul 05 '22 15:07 cassieopea

+1 for this PR so that, as @RobertRosca observes, dependabot can more easily track this issue.

cisaacstern avatar Jul 24 '22 19:07 cisaacstern

Codecov Report

Merging #371 (de4ccdb) into main (ea18162) will not change coverage. The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #371   +/-   ##
=======================================
  Coverage   97.49%   97.49%           
=======================================
  Files         181      181           
  Lines        6038     6038           
=======================================
  Hits         5887     5887           
  Misses        151      151           

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

codecov[bot] avatar Aug 27 '22 18:08 codecov[bot]

📝 Docs preview for commit de4ccdb953a2013b9bcaa19e1d933a97e698233b at: https://630a5ffdfbefa92996c70e2b--sqlmodel.netlify.app

github-actions[bot] avatar Aug 27 '22 18:08 github-actions[bot]

Awesome, thank you @RobertRosca! :rocket:

I upgraded the max version to the current latest, as everything is passing with it. :nerd_face:

And thanks everyone for the discussion. The underlying issue was solved in https://github.com/tiangolo/sqlmodel/pull/322, and this version pin will prevent it from happening inadvertently.

This will be available in the next version, in the next hours. SQLModel 0.0.7 :rocket:

tiangolo avatar Aug 27 '22 18:08 tiangolo