Skip to content

Commit d0a227e

Browse files
committed
convert timestamps to utc aware
1 parent a9ae1b9 commit d0a227e

File tree

2 files changed

+91
-19
lines changed

2 files changed

+91
-19
lines changed
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
"""add_timezone_comp_runs
2+
3+
Revision ID: e05bdc5b3c7b
4+
Revises: 7ad64e963e0f
5+
Create Date: 2024-11-27 22:51:21.112336+00:00
6+
7+
"""
8+
import sqlalchemy as sa
9+
from alembic import op
10+
from sqlalchemy.dialects import postgresql
11+
12+
# revision identifiers, used by Alembic.
13+
revision = "e05bdc5b3c7b"
14+
down_revision = "7ad64e963e0f"
15+
branch_labels = None
16+
depends_on = None
17+
18+
19+
def upgrade():
20+
# ### commands auto generated by Alembic - please adjust! ###
21+
op.alter_column(
22+
"comp_runs",
23+
"created",
24+
existing_type=postgresql.TIMESTAMP(),
25+
type_=sa.DateTime(timezone=True),
26+
existing_nullable=False,
27+
existing_server_default=sa.text("now()"),
28+
)
29+
op.alter_column(
30+
"comp_runs",
31+
"modified",
32+
existing_type=postgresql.TIMESTAMP(),
33+
type_=sa.DateTime(timezone=True),
34+
existing_nullable=False,
35+
existing_server_default=sa.text("now()"),
36+
)
37+
op.alter_column(
38+
"comp_runs",
39+
"started",
40+
existing_type=postgresql.TIMESTAMP(),
41+
type_=sa.DateTime(timezone=True),
42+
existing_nullable=True,
43+
)
44+
op.alter_column(
45+
"comp_runs",
46+
"ended",
47+
existing_type=postgresql.TIMESTAMP(),
48+
type_=sa.DateTime(timezone=True),
49+
existing_nullable=True,
50+
)
51+
# ### end Alembic commands ###
52+
53+
54+
def downgrade():
55+
# ### commands auto generated by Alembic - please adjust! ###
56+
op.alter_column(
57+
"comp_runs",
58+
"ended",
59+
existing_type=sa.DateTime(timezone=True),
60+
type_=postgresql.TIMESTAMP(),
61+
existing_nullable=True,
62+
)
63+
op.alter_column(
64+
"comp_runs",
65+
"started",
66+
existing_type=sa.DateTime(timezone=True),
67+
type_=postgresql.TIMESTAMP(),
68+
existing_nullable=True,
69+
)
70+
op.alter_column(
71+
"comp_runs",
72+
"modified",
73+
existing_type=sa.DateTime(timezone=True),
74+
type_=postgresql.TIMESTAMP(),
75+
existing_nullable=False,
76+
existing_server_default=sa.text("now()"),
77+
)
78+
op.alter_column(
79+
"comp_runs",
80+
"created",
81+
existing_type=sa.DateTime(timezone=True),
82+
type_=postgresql.TIMESTAMP(),
83+
existing_nullable=False,
84+
existing_server_default=sa.text("now()"),
85+
)
86+
# ### end Alembic commands ###

packages/postgres-database/src/simcore_postgres_database/models/comp_runs.py

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@
44

55
import sqlalchemy as sa
66
from sqlalchemy.dialects.postgresql import JSONB
7-
from sqlalchemy.sql import func
87

9-
from ._common import RefActions
8+
from ._common import RefActions, column_created_datetime, column_modified_datetime
109
from .base import metadata
1110
from .comp_pipeline import StateType
1211

@@ -73,31 +72,18 @@
7372
doc="The result of the run entry",
7473
),
7574
# dag node id and class
76-
sa.Column(
77-
"created",
78-
sa.DateTime(),
79-
nullable=False,
80-
server_default=func.now(),
81-
doc="When the run entry was created",
82-
),
83-
sa.Column(
84-
"modified",
85-
sa.DateTime(),
86-
nullable=False,
87-
server_default=func.now(),
88-
onupdate=func.now(), # this will auto-update on modification
89-
doc="When the run entry was last modified",
90-
),
75+
column_created_datetime(timezone=True),
76+
column_modified_datetime(timezone=True),
9177
# utc timestamps for submission/start/end
9278
sa.Column(
9379
"started",
94-
sa.DateTime,
80+
sa.DateTime(timezone=True),
9581
nullable=True,
9682
doc="When the run was started",
9783
),
9884
sa.Column(
9985
"ended",
100-
sa.DateTime,
86+
sa.DateTime(timezone=True),
10187
nullable=True,
10288
doc="When the run was finished",
10389
),

0 commit comments

Comments
 (0)