af4b2263e4
We currently see a lot of warnings like this from the soft_delete() method: sqlalchemy.exc.SAWarning: Evaluating non-mapped column expression 'updated_at' onto ORM instances; this is a deprecated use case. Please make use of the actual mapped columns in ORM-evaluated UPDATE / DELETE expressions. This is because the "evaluate" synchronization strategy would like to search for objects and update them based on the UPDATE criteria passed, however the columns given, literal_column('id'), literal_column('updated_at'), are not mapped to anything. The evaluator has to make a guess that the string contained in these expressions should be matched to a mapped attribute on the given entity and this guess was first removed in [1], then added back in [2] with a warning (likely since oslo.db is invoking it). This uses the actual entity-mapped column for the query rather than the literal string column. [1] https://docs.sqlalchemy.org/en/latest/changelog/changelog_12.html#change-b1e620dece39006ab44c47044e9a6fee [2] https://docs.sqlalchemy.org/en/latest/changelog/changelog_12.html#change-dff3a469788c81a46440584406cb22be Change-Id: I192e84ce757d12d33085a209dd58d8ea46fb90fb Closes-Bug: #1814199 |
||
---|---|---|
.. | ||
compat | ||
migration_cli | ||
__init__.py | ||
enginefacade.py | ||
engines.py | ||
exc_filters.py | ||
migration.py | ||
models.py | ||
ndb.py | ||
orm.py | ||
provision.py | ||
session.py | ||
test_base.py | ||
test_fixtures.py | ||
test_migrations.py | ||
types.py | ||
update_match.py | ||
utils.py |