Skip to content

Commit 2f244c1

Browse files
committed
Use offset-aware dates in schemas.
This patch touches #434.
1 parent 32c97bb commit 2f244c1

File tree

4 files changed

+21
-9
lines changed

4 files changed

+21
-9
lines changed

PyFunceble/database/schemas/autocontinue.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
limitations under the License.
5151
"""
5252

53-
from datetime import datetime
53+
from datetime import datetime, timezone
5454

5555
from sqlalchemy import Column, DateTime, String, Text
5656

@@ -66,5 +66,7 @@ class Continue(SchemaBase):
6666
checker_type = Column(String(length=50), nullable=False)
6767
destination = Column(Text, nullable=False)
6868
source = Column(Text, nullable=False)
69-
tested_at = Column(DateTime(), default=datetime.utcnow, nullable=False)
69+
tested_at = Column(
70+
DateTime(), default=lambda: datetime.now(tz=timezone.utc), nullable=False
71+
)
7072
session_id = Column(Text, nullable=True, default=None)

PyFunceble/database/schemas/inactive.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
limitations under the License.
5151
"""
5252

53-
from datetime import datetime
53+
from datetime import datetime, timezone
5454

5555
from sqlalchemy import Column, DateTime, String, Text
5656

@@ -65,4 +65,6 @@ class Inactive(SchemaBase):
6565
idna_subject = Column(Text, nullable=False)
6666
checker_type = Column(String(length=50), nullable=False)
6767
destination = Column(Text, nullable=False)
68-
tested_at = Column(DateTime(), default=datetime.utcnow, nullable=False)
68+
tested_at = Column(
69+
DateTime(), default=lambda: datetime.now(tz=timezone.utc), nullable=False
70+
)

PyFunceble/database/schemas/status.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
limitations under the License.
5151
"""
5252

53-
from datetime import datetime
53+
from datetime import datetime, timezone
5454

5555
from sqlalchemy import Boolean, Column, DateTime, Integer, Text
5656

@@ -83,4 +83,6 @@ class Status(SchemaBase):
8383
url_syntax_validation = Column(Boolean(), default=False, nullable=True)
8484
is_complement = Column(Boolean(), default=False, nullable=True)
8585
test_completed = Column(Boolean(), default=False, nullable=False)
86-
tested_at = Column(DateTime(), default=datetime.utcnow, nullable=False)
86+
tested_at = Column(
87+
DateTime(), default=lambda: datetime.now(tz=timezone.utc), nullable=False
88+
)

PyFunceble/database/sqlalchemy/base_schema.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
limitations under the License.
5151
"""
5252

53-
from datetime import datetime
53+
from datetime import datetime, timezone
5454

5555
import inflection
5656
from sqlalchemy import BigInteger, Column, DateTime
@@ -77,8 +77,14 @@ def __tablename__(self):
7777
)
7878

7979
id = Column(BigInteger, primary_key=True, nullable=False)
80-
created_at = Column(DateTime(), default=datetime.utcnow, nullable=False)
81-
modified_at = Column(DateTime(), default=datetime.utcnow, onupdate=datetime.utcnow)
80+
created_at = Column(
81+
DateTime(), default=lambda: datetime.now(tz=timezone.utc), nullable=False
82+
)
83+
modified_at = Column(
84+
DateTime(),
85+
default=lambda: datetime.now(tz=timezone.utc),
86+
onupdate=lambda: datetime.now(tz=timezone.utc),
87+
)
8288

8389
def to_dict(self) -> dict:
8490
"""

0 commit comments

Comments
 (0)