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

Bump sqlalchemy from 1.4.48 to 2.0.16 #689

Merged
merged 3 commits into from
Jun 14, 2023

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jun 13, 2023

Bumps sqlalchemy from 1.4.48 to 2.0.16.

Release notes

Sourced from sqlalchemy's releases.

2.0.16

Released: June 10, 2023

platform

  • [platform] [usecase] Compatibility improvements allowing the complete test suite to pass on Python 3.12.0b1.

orm

  • [orm] [usecase] Improved DeferredReflection.prepare() to accept arbitrary **kw arguments that are passed to _schema.MetaData.reflect(), allowing use cases such as reflection of views as well as dialect-specific arguments to be passed. Additionally, modernized the DeferredReflection.prepare.bind argument so that either an Engine or Connection are accepted as the "bind" argument.

    References: #9828

  • [orm] [bug] Fixed issue where DeclarativeBaseNoMeta declarative base class would not function with non-mapped mixins or abstract classes, raising an AttributeError instead.

    References: #9862

  • [orm] [bug] [regression] Fixed regression in the 2.0 series where the default value of _orm.validates.include_backrefs got changed to False for the _orm.validates() function. This default is now restored to True.

    References: #9820

  • [orm] [bug] Fixed bug in new feature which allows a WHERE clause to be used in conjunction with orm_queryguide_bulk_update, added in version 2.0.11 as part of #9583, where sending dictionaries that did not include the primary key values for each row would run through the bulk process and include "pk=NULL" for the rows, silently failing. An exception is now raised if primary key values for bulk UPDATE are not supplied.

    References: #9917

  • [orm] [bug] [dataclasses] Fixed an issue where generating dataclasses fields that specified a default value and set init=False would not work. The dataclasses behavior in this case is to set the default value on the class, that's not compatible with the descriptors used by SQLAlchemy. To support this case the default is transformed to

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.48 to 2.0.16.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Jun 13, 2023
@jon-betts jon-betts self-assigned this Jun 14, 2023
@jon-betts jon-betts force-pushed the dependabot/pip/sqlalchemy-2.0.16 branch from 9520e6c to cc9e604 Compare June 14, 2023 13:28
session.transaction._connections # pylint:disable=protected-access
)
if len(connections) > 1:
LOG.warning("closing an unclosed DB session")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 'transaction' attribute isn't there in the new version. I'm not exactly what the hint we are in this situation would be now. We don't need to actually check this, as it's only for the warning, so I've removed it.

@jon-betts jon-betts merged commit dc5bd72 into main Jun 14, 2023
@jon-betts jon-betts deleted the dependabot/pip/sqlalchemy-2.0.16 branch June 14, 2023 14:39
seanh added a commit that referenced this pull request Jun 22, 2023
The upgrade to SQLAlchemy
(#689) has broken `make dev`
in Checkmate: the app no longer starts up at all in dev:

    $ make dev
    web (stderr) | [...] [577266] [ERROR] Exception in worker process
    web (stderr) | Traceback (most recent call last):
    ...
    web (stderr) | File ".../checkmate/checkmate/db.py", line 87, in _stamp_db
    web (stderr) |     engine.execute("select 1 from alembic_version")
    web (stderr) | AttributeError: 'Engine' object has no attribute 'execute'

There's no longer an `engine.execute()` method in SQLAlchemy 2. Instead
you have to call `engine.connect()` to get a connection object and then
call `connection.execute()`. See:

https://docs.sqlalchemy.org/en/20/changelog/migration_20.html#implicit-and-connectionless-execution-bound-metadata-removed

In addition you can't just pass a string of SQL to
`connection.execute()`, you have to use `text()`.
@seanh seanh mentioned this pull request Jun 22, 2023
seanh added a commit that referenced this pull request Jun 22, 2023
The upgrade to SQLAlchemy
(#689) has broken `make dev`
in Checkmate: the app no longer starts up at all in dev:

    $ make dev
    web (stderr) | [...] [577266] [ERROR] Exception in worker process
    web (stderr) | Traceback (most recent call last):
    ...
    web (stderr) | File ".../checkmate/checkmate/db.py", line 87, in _stamp_db
    web (stderr) |     engine.execute("select 1 from alembic_version")
    web (stderr) | AttributeError: 'Engine' object has no attribute 'execute'

There's no longer an `engine.execute()` method in SQLAlchemy 2. Instead
you have to call `engine.connect()` to get a connection object and then
call `connection.execute()`. See:

https://docs.sqlalchemy.org/en/20/changelog/migration_20.html#implicit-and-connectionless-execution-bound-metadata-removed

In addition you can't just pass a string of SQL to
`connection.execute()`, you have to use `text()`.
seanh added a commit that referenced this pull request Jun 26, 2023
The upgrade to SQLAlchemy
(#689) has broken `make dev`
in Checkmate: the app no longer starts up at all in dev:

    $ make dev
    web (stderr) | [...] [577266] [ERROR] Exception in worker process
    web (stderr) | Traceback (most recent call last):
    ...
    web (stderr) | File ".../checkmate/checkmate/db.py", line 87, in _stamp_db
    web (stderr) |     engine.execute("select 1 from alembic_version")
    web (stderr) | AttributeError: 'Engine' object has no attribute 'execute'

There's no longer an `engine.execute()` method in SQLAlchemy 2. Instead
you have to call `engine.connect()` to get a connection object and then
call `connection.execute()`. See:

https://docs.sqlalchemy.org/en/20/changelog/migration_20.html#implicit-and-connectionless-execution-bound-metadata-removed

In addition you can't just pass a string of SQL to
`connection.execute()`, you have to use `text()`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file python Pull requests that update Python code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants