From c029dad688cca2df45542e133fd1f7ac622273b5 Mon Sep 17 00:00:00 2001 From: Kelly McDonald Date: Wed, 28 Apr 2021 10:00:22 -0400 Subject: [PATCH] Convert some datetime columns to include timezone --- crc/models/task_event.py | 3 +- crc/models/workflow.py | 3 +- ...547305_update_type_on_task_events_table.py | 28 +++++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 migrations/versions/abeffe547305_update_type_on_task_events_table.py diff --git a/crc/models/task_event.py b/crc/models/task_event.py index 21a239ee..40c8b1fd 100644 --- a/crc/models/task_event.py +++ b/crc/models/task_event.py @@ -5,6 +5,7 @@ from crc import db, ma from crc.models.study import StudyModel, StudySchema, WorkflowMetadataSchema, WorkflowMetadata from crc.models.workflow import WorkflowModel from crc.services.ldap_service import LdapService +from sqlalchemy import func class TaskEventModel(db.Model): @@ -27,7 +28,7 @@ class TaskEventModel(db.Model): mi_count = db.Column(db.Integer) mi_index = db.Column(db.Integer) process_name = db.Column(db.String) - date = db.Column(db.DateTime) + date = db.Column(db.DateTime(timezone=True),default=func.now()) class TaskEventModelSchema(SQLAlchemyAutoSchema): diff --git a/crc/models/workflow.py b/crc/models/workflow.py index 0da32aec..c39fee84 100644 --- a/crc/models/workflow.py +++ b/crc/models/workflow.py @@ -3,6 +3,7 @@ import enum import marshmallow from marshmallow import EXCLUDE from marshmallow_sqlalchemy import SQLAlchemyAutoSchema +from sqlalchemy import func from crc import db from crc.models.file import FileModel, FileDataModel @@ -87,7 +88,7 @@ class WorkflowModel(db.Model): workflow_spec = db.relationship("WorkflowSpecModel") total_tasks = db.Column(db.Integer, default=0) completed_tasks = db.Column(db.Integer, default=0) - last_updated = db.Column(db.DateTime) + last_updated = db.Column(db.DateTime(timezone=True),default=func.now()) # Order By is important or generating hashes on reviews. dependencies = db.relationship(WorkflowSpecDependencyFile, cascade="all, delete, delete-orphan", order_by="WorkflowSpecDependencyFile.file_data_id") diff --git a/migrations/versions/abeffe547305_update_type_on_task_events_table.py b/migrations/versions/abeffe547305_update_type_on_task_events_table.py new file mode 100644 index 00000000..297bac80 --- /dev/null +++ b/migrations/versions/abeffe547305_update_type_on_task_events_table.py @@ -0,0 +1,28 @@ +"""update type on task_events table and workflow table + +Revision ID: abeffe547305 +Revises: 665624ac29f1 +Create Date: 2021-04-28 08:51:16.220260 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = 'abeffe547305' +down_revision = '665624ac29f1' +branch_labels = None +depends_on = None + + +def upgrade(): + op.execute("alter table task_event alter column date type timestamp with time zone") + op.execute("alter table workflow alter column last_updated type timestamp with time zone") + pass + + +def downgrade(): + op.execute("alter table task_event alter column date type timestamp without time zone") + op.execute("alter table workflow alter column last_updated type timestamp without time zone") + pass