Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SQLAlchemy 2.0 support #488

Closed
lafrech opened this issue Feb 8, 2023 · 10 comments
Closed

SQLAlchemy 2.0 support #488

lafrech opened this issue Feb 8, 2023 · 10 comments

Comments

@lafrech
Copy link
Member

lafrech commented Feb 8, 2023

marshmallow-sqlalchemy does not support sqlalchemy 2.0+.

This is what I think we should do:

  • Fix CI. In Update CI #486, I propose a complete CI update and a move from Azure to GHA.
  • Lock sqlalchemy < 2.0. I did this in Update CI #486 to let CI pass.
  • Release 0.28.2 with sqlalchemy < 2.0 support

Then in a second step

(We may still accept bugfixes in 0.28.x branch for a while.)


What I need:

  • Agreement. I'm not lead maintainer here. Is this plan fine?
  • Removal of Azure hook and API_KEY to allow releases from GHA
  • Permissions to push to master: last time I tried to release I had issues (fix 332: to address column typo asper doc #461) that we never solved and the release never happened

@sloria do you think you could give me ownership of this repo or at least the same privileges as marshmallow, and either share PyPI ownership or provide API_KEY?

I didn't really mean to maintain this. I'm not familiar with the code base. But we use it and will need 2.0 support, and no one stepped in to take over, so I can try to do my best with maintenance chores.

@sloria
Copy link
Member

sloria commented Feb 21, 2023

@lafrech +💯 on this plan. i've given you owner access in both GH and pypi. let me know if you're still missing privs

@lafrech
Copy link
Member Author

lafrech commented Feb 21, 2023

Thanks. Now I need to carve out time to follow the plan.

@lafrech
Copy link
Member Author

lafrech commented Feb 23, 2023

0.28.2 released. For some reason the automatic release failed so I released manually. I'll investigate this another day, it's late.

SQLA 1.3 support dropped in dev branch.

(Edit: I didn't find it yesterday. Here's the SQLA page saying 1.3 is EOL: https://www.sqlalchemy.org/download.html#status-desc-eol.)

@rimvislt
Copy link

So now we locked into 2 dependencies until it is solved:
SQLAlchemy==2.0.1
marshmallow-sqlalchemy==0.28.1

Majority of marshmallow works with 2.0.1 version but does not work with anything above it. Since we start changing our code to support 2.0.1 we can not upgrade marshmallow, since dependency lock was much later introduced than SQLAlchemy.

@rimvislt
Copy link

@lafrech URL which you mentioned above does not seem to be working
work begun in https://github.com/marshmallow-code/marshmallow-sqlalchemy/tree/sqla_1.4

Let me know if we have branch or some base for SQLAlchemy 2.0 support.
I can contribute a bit during weekends.

@lafrech
Copy link
Member Author

lafrech commented Feb 24, 2023

Thanks @rimvisit for the help.

The branch I mentioned above was merged already. I believe I solved all 2.0 compat warnings.

Migration steps here: https://docs.sqlalchemy.org/en/20/changelog/migration_20.html.

We should be pretty close to the "test against SQLAlchemy 2.0" step.

@lafrech
Copy link
Member Author

lafrech commented Feb 27, 2023

SQLAlchemy 2.0 support merged in #495.

Shipping soon. Time to test on your code bases to spot issues that would have been uncaught.

@rimvislt
Copy link

rimvislt commented Feb 27, 2023

Thank you I will try to get it tested.

@lafrech
Copy link
Member Author

lafrech commented Feb 27, 2023

Allright, I decided I had enough feedback already.

SQLAlchemy 2.0 support is achieved in marshmallow-sqlalchemy 0.29.0, available today at your favorite store.

@lafrech lafrech closed this as completed Feb 27, 2023
@jdimmerman
Copy link

Thank you @lafrech!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants