diff --git a/alembic/versions/9956913ab521_added_column_payload_to_job_table.py b/alembic/versions/9956913ab521_added_column_payload_to_job_table.py new file mode 100644 index 0000000..c04ffbe --- /dev/null +++ b/alembic/versions/9956913ab521_added_column_payload_to_job_table.py @@ -0,0 +1,31 @@ +"""Added column payload to job table + +Revision ID: 9956913ab521 +Revises: ce85b51580d3 +Create Date: 2024-09-17 15:05:13.766861 + +""" +from alembic import op +import sqlalchemy as sa +import geoalchemy2 +import sqlmodel + +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision = '9956913ab521' +down_revision = 'ce85b51580d3' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('job', sa.Column('payload', postgresql.JSONB(astext_type=sa.Text()), nullable=True), schema='customer') + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('job', 'payload', schema='customer') + # ### end Alembic commands ### diff --git a/src/core/job.py b/src/core/job.py index 04c0346..cdd3a3c 100644 --- a/src/core/job.py +++ b/src/core/job.py @@ -186,9 +186,8 @@ async def wrapper(*args, **kwargs): job = await crud_job.update( db=async_session, db_obj=job, - obj_in={"status_simple": JobStatusType.finished.value}, + obj_in={"status_simple": JobStatusType.finished.value, "payload": kwargs["params"].dict(exclude_none=True)}, ) - try: # Get the delete temp tables function from class delete_temp_tables_func = getattr(self, "delete_temp_tables", None) diff --git a/src/db/models/job.py b/src/db/models/job.py index 04463d5..f51257d 100644 --- a/src/db/models/job.py +++ b/src/db/models/job.py @@ -58,6 +58,9 @@ class Job(DateTimeBase, table=True): sa_column=Column(Boolean, nullable=False, server_default="False"), description="Whether the user has marked the job as read", ) + payload: dict | None = Field( + sa_column=Column(JSONB, nullable=True), description="Payload of the job" + ) # Relationships user: "User" = Relationship(back_populates="jobs")