]> 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)
committerFederico Caselli <cfederico87@gmail.com>
Tue, 10 Sep 2024 16:50:00 +0000 (18:50 +0200)
<!-- 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
(cherry picked from commit 6fefae897a576bce9ec74101e3a5ebcda0557c00)

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 1cd51bfd017687fd6aca0a1a31cbc421c67ea616..f2eae852b3c6567d9fe5070265c202ef6e25c589 100644 (file)
@@ -3155,7 +3155,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