]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
MAINT: cleanup the lasts of datetime.utcnow()
authorBrigitta Sipőcz <bsipocz@gmail.com>
Fri, 6 Sep 2024 06:44:53 +0000 (02:44 -0400)
committersqla-tester <sqla-tester@sqlalchemy.org>
Fri, 6 Sep 2024 06:44:53 +0000 (02:44 -0400)
<!-- Provide a general summary of your proposed changes in the Title field above -->

### Description
<!-- Describe your changes in detail -->

I'm chasing some loose datetime.datetime.utcnow() deprecation warning in some test suites, and one of these was seemingly coming from sqlalchemy. It wasn't, but nevertheless these minor cleanup changes may still be found useful.

### Checklist
<!-- go over following points. check them with an `x` if they do apply, (they turn into clickable checkboxes once the PR is submitted, so no need to do everything at once)

-->

This pull request is:

- [x] A documentation / typographical / small typing error fix
- Good to go, no issue or tests are needed

**Have a nice day!**

Closes: #11736
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/11736
Pull-request-sha: 9bee8af8d1082c3cde5f64c78f1e565ef4ab14cd

Change-Id: Ib1b85fa3d66b665165d908e7c8394482b714c57f

examples/extending_query/temporal_range.py
lib/sqlalchemy/orm/events.py
test/orm/test_relationship_criteria.py

index 50cbb6645919f53c7855526ee2efa65662f1b7d8..29ea1193623e768487a7edf3be9be6feeb0bef67 100644 (file)
@@ -5,6 +5,7 @@ to selected entities.
 """
 
 import datetime
+from functools import partial
 
 from sqlalchemy import Column
 from sqlalchemy import create_engine
@@ -23,7 +24,9 @@ class HasTemporal:
     """Mixin that identifies a class as having a timestamp column"""
 
     timestamp = Column(
-        DateTime, default=datetime.datetime.utcnow, nullable=False
+        DateTime,
+        default=partial(datetime.datetime.now, datetime.timezone.utc),
+        nullable=False,
     )
 
 
index e4126f41054781c5f4b6906c8103da4c4e733c3a..b3f6047d5919bc17ef4911987c2b26e012a03ce3 100644 (file)
@@ -3135,7 +3135,9 @@ class QueryEvents(event.Events[Query[Any]]):
                         entity = desc['entity']
                         query = query.filter(entity.deleted == False)
 
-                        update_context.values['timestamp'] = datetime.utcnow()
+                        update_context.values['timestamp'] = (
+                            datetime.datetime.now(datetime.UTC)
+                        )
                 return query
 
         The ``.values`` dictionary of the "update context" object can also
index 96c178e5e22ec05aedcbbd3902c646f77b407e3f..29720f7dc8658997a56e42915a169111c38e41eb 100644 (file)
@@ -1,6 +1,7 @@
 from __future__ import annotations
 
 import datetime
+from functools import partial
 import random
 from typing import List
 
@@ -1661,7 +1662,9 @@ class TemporalFixtureTest(testing.fixtures.DeclarativeMappedTest):
             """Mixin that identifies a class as having a timestamp column"""
 
             timestamp = Column(
-                DateTime, default=datetime.datetime.utcnow, nullable=False
+                DateTime,
+                default=partial(datetime.datetime.now, datetime.timezone.utc),
+                nullable=False,
             )
 
         cls.HasTemporal = HasTemporal