Skip to content

Commit 9bc712b

Browse files
committed
[DOP-25282] Use timestamptz fields
1 parent cee8298 commit 9bc712b

9 files changed

+23
-23
lines changed

syncmaster/db/migrations/versions/2023-11-23_0001_create_user_table.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ def upgrade():
2828
sa.Column("middle_name", sa.String(length=256), nullable=True),
2929
sa.Column("is_superuser", sa.Boolean(), nullable=False),
3030
sa.Column("is_active", sa.Boolean(), nullable=False),
31-
sa.Column("created_at", sa.DateTime(), server_default=sa.text("now()"), nullable=False),
32-
sa.Column("updated_at", sa.DateTime(), server_default=sa.text("now()"), nullable=False),
31+
sa.Column("created_at", sa.DateTime(timezone=True), server_default=sa.text("now()"), nullable=False),
32+
sa.Column("updated_at", sa.DateTime(timezone=True), server_default=sa.text("now()"), nullable=False),
3333
sa.Column("is_deleted", sa.Boolean(), nullable=False),
3434
sa.PrimaryKeyConstraint("id", name=op.f("pk__user")),
3535
sa.UniqueConstraint("email", name=op.f("uq__user__email")),

syncmaster/db/migrations/versions/2023-11-23_0002_create_group_table.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ def upgrade():
2525
sa.Column("name", sa.String(length=256), nullable=False),
2626
sa.Column("description", sa.String(length=512), nullable=False),
2727
sa.Column("owner_id", sa.BigInteger(), nullable=False),
28-
sa.Column("created_at", sa.DateTime(), server_default=sa.text("now()"), nullable=False),
29-
sa.Column("updated_at", sa.DateTime(), server_default=sa.text("now()"), nullable=False),
28+
sa.Column("created_at", sa.DateTime(timezone=True), server_default=sa.text("now()"), nullable=False),
29+
sa.Column("updated_at", sa.DateTime(timezone=True), server_default=sa.text("now()"), nullable=False),
3030
sa.Column(
3131
"search_vector",
3232
postgresql.TSVECTOR(),

syncmaster/db/migrations/versions/2023-11-23_0003_create_queue_table.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ def upgrade():
2626
sa.Column("slug", sa.String(length=256), nullable=False),
2727
sa.Column("group_id", sa.BigInteger(), nullable=False),
2828
sa.Column("description", sa.String(length=512), nullable=False),
29-
sa.Column("created_at", sa.DateTime(), server_default=sa.text("now()"), nullable=False),
30-
sa.Column("updated_at", sa.DateTime(), server_default=sa.text("now()"), nullable=False),
29+
sa.Column("created_at", sa.DateTime(timezone=True), server_default=sa.text("now()"), nullable=False),
30+
sa.Column("updated_at", sa.DateTime(timezone=True), server_default=sa.text("now()"), nullable=False),
3131
sa.Column(
3232
"search_vector",
3333
postgresql.TSVECTOR(),

syncmaster/db/migrations/versions/2023-11-23_0004_create_connection_table.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ def upgrade():
3434
sa.Column("name", sa.String(length=128), nullable=False),
3535
sa.Column("description", sa.String(length=512), nullable=False),
3636
sa.Column("data", sa.JSON(), nullable=False),
37-
sa.Column("created_at", sa.DateTime(), server_default=sa.text("now()"), nullable=False),
38-
sa.Column("updated_at", sa.DateTime(), server_default=sa.text("now()"), nullable=False),
37+
sa.Column("created_at", sa.DateTime(timezone=True), server_default=sa.text("now()"), nullable=False),
38+
sa.Column("updated_at", sa.DateTime(timezone=True), server_default=sa.text("now()"), nullable=False),
3939
sa.Column("search_vector", postgresql.TSVECTOR(), sa.Computed(sql_expression, persisted=True), nullable=False),
4040
sa.ForeignKeyConstraint(
4141
["group_id"],

syncmaster/db/migrations/versions/2023-11-23_0006_create_auth_data_table.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ def upgrade():
2222
"auth_data",
2323
sa.Column("connection_id", sa.BigInteger(), nullable=False),
2424
sa.Column("value", sa.String(), nullable=False),
25-
sa.Column("created_at", sa.DateTime(), server_default=sa.text("now()"), nullable=False),
26-
sa.Column("updated_at", sa.DateTime(), server_default=sa.text("now()"), nullable=False),
25+
sa.Column("created_at", sa.DateTime(timezone=True), server_default=sa.text("now()"), nullable=False),
26+
sa.Column("updated_at", sa.DateTime(timezone=True), server_default=sa.text("now()"), nullable=False),
2727
sa.ForeignKeyConstraint(
2828
["connection_id"],
2929
["connection.id"],

syncmaster/db/migrations/versions/2023-11-23_0007_create_transfer_table.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ def upgrade():
4949
sa.Column("is_scheduled", sa.Boolean(), nullable=False),
5050
sa.Column("schedule", sa.String(length=32), nullable=False),
5151
sa.Column("queue_id", sa.BigInteger(), nullable=False),
52-
sa.Column("created_at", sa.DateTime(), server_default=sa.text("now()"), nullable=False),
53-
sa.Column("updated_at", sa.DateTime(), server_default=sa.text("now()"), nullable=False),
52+
sa.Column("created_at", sa.DateTime(timezone=True), server_default=sa.text("now()"), nullable=False),
53+
sa.Column("updated_at", sa.DateTime(timezone=True), server_default=sa.text("now()"), nullable=False),
5454
sa.ForeignKeyConstraint(
5555
["group_id"],
5656
["group.id"],

syncmaster/db/migrations/versions/2023-11-23_0008_create_run_table.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ def upgrade():
2222
"run",
2323
sa.Column("id", sa.BigInteger(), nullable=False),
2424
sa.Column("transfer_id", sa.BigInteger(), nullable=False),
25-
sa.Column("started_at", sa.DateTime(), nullable=True),
26-
sa.Column("ended_at", sa.DateTime(), nullable=True),
25+
sa.Column("started_at", sa.DateTime(timezone=True), nullable=True),
26+
sa.Column("ended_at", sa.DateTime(timezone=True), nullable=True),
2727
sa.Column("status", sa.String(255), nullable=False),
2828
sa.Column("type", sa.String(64), nullable=False),
2929
sa.Column("log_url", sa.String(length=512), nullable=True),
3030
sa.Column("transfer_dump", sa.JSON(), nullable=False),
31-
sa.Column("created_at", sa.DateTime(), server_default=sa.text("now()"), nullable=False),
32-
sa.Column("updated_at", sa.DateTime(), server_default=sa.text("now()"), nullable=False),
31+
sa.Column("created_at", sa.DateTime(timezone=True), server_default=sa.text("now()"), nullable=False),
32+
sa.Column("updated_at", sa.DateTime(timezone=True), server_default=sa.text("now()"), nullable=False),
3333
sa.ForeignKeyConstraint(
3434
["transfer_id"],
3535
["transfer.id"],

syncmaster/db/migrations/versions/2023-11-23_0009_create_celery_tables.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def upgrade():
3636
sa.Column("task_id", sa.String(length=155), nullable=True),
3737
sa.Column("status", sa.String(length=50), nullable=True),
3838
sa.Column("result", sa.PickleType(), nullable=True),
39-
sa.Column("date_done", sa.DateTime(), nullable=True),
39+
sa.Column("date_done", sa.DateTime(timezone=True), nullable=True),
4040
sa.Column("traceback", sa.Text(), nullable=True),
4141
sa.Column("name", sa.String(length=155), nullable=True),
4242
sa.Column("args", sa.LargeBinary(), nullable=True),
@@ -57,7 +57,7 @@ def upgrade():
5757
sa.Column("id", sa.Integer(), taskset_id_sequence, autoincrement=True, nullable=False),
5858
sa.Column("taskset_id", sa.String(length=155), nullable=True),
5959
sa.Column("result", sa.PickleType(), nullable=True),
60-
sa.Column("date_done", sa.DateTime(), nullable=True),
60+
sa.Column("date_done", sa.DateTime(timezone=True), nullable=True),
6161
sa.PrimaryKeyConstraint("id"),
6262
sa.UniqueConstraint("taskset_id"),
6363
sqlite_autoincrement=True,

syncmaster/db/mixins/timestamp.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
# SPDX-FileCopyrightText: 2023-2024 MTS PJSC
22
# SPDX-License-Identifier: Apache-2.0
3-
from datetime import datetime
3+
from datetime import datetime, timezone
4+
from functools import partial
45

56
from sqlalchemy import DateTime, func
67
from sqlalchemy.orm import Mapped, mapped_column
78

89

910
class TimestampMixin:
10-
created_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now(), nullable=False)
11+
created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), server_default=func.now(), nullable=False)
1112
updated_at: Mapped[datetime] = mapped_column(
12-
DateTime,
13+
DateTime(timezone=True),
1314
server_default=func.now(),
14-
server_onupdate=func.now(),
15-
onupdate=datetime.now,
15+
onupdate=partial(datetime.now, tz=timezone.utc),
1616
nullable=False,
1717
)

0 commit comments

Comments
 (0)