From 3232ed472f5e896ee560f8cb01a1ffd880517dd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Odini?= Date: Tue, 18 Jun 2024 14:19:00 +0200 Subject: [PATCH] refactor(prices): New price.updated field (#325) --- ...57_818f9ced20cd_add_price_updated_field.py | 32 +++++++++++++++++++ app/models.py | 1 + app/schemas.py | 5 ++- 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 alembic/versions/20240616_1157_818f9ced20cd_add_price_updated_field.py diff --git a/alembic/versions/20240616_1157_818f9ced20cd_add_price_updated_field.py b/alembic/versions/20240616_1157_818f9ced20cd_add_price_updated_field.py new file mode 100644 index 00000000..734d78e7 --- /dev/null +++ b/alembic/versions/20240616_1157_818f9ced20cd_add_price_updated_field.py @@ -0,0 +1,32 @@ +"""Add Price updated field + +Revision ID: 818f9ced20cd +Revises: 58a287bcd336 +Create Date: 2024-06-16 11:57:37.751165 + +""" +from typing import Sequence, Union + +import sqlalchemy as sa + +from alembic import op + +# revision identifiers, used by Alembic. +revision: str = "818f9ced20cd" +down_revision: Union[str, None] = "58a287bcd336" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.add_column( + "prices", sa.Column("updated", sa.DateTime(timezone=True), nullable=True) + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column("prices", "updated") + # ### end Alembic commands ### diff --git a/app/models.py b/app/models.py index aefdcfb6..3c549514 100644 --- a/app/models.py +++ b/app/models.py @@ -172,5 +172,6 @@ class Price(Base): source = mapped_column(String, nullable=True) created = mapped_column(DateTime(timezone=True), server_default=func.now()) + updated = mapped_column(DateTime(timezone=True), onupdate=func.now()) __tablename__ = "prices" diff --git a/app/schemas.py b/app/schemas.py index 1c50ff17..24fed623 100644 --- a/app/schemas.py +++ b/app/schemas.py @@ -435,7 +435,10 @@ class PriceFull(PriceCreate): # examples=["web app", "mobile app"], # default=None, # ) - created: datetime.datetime + created: datetime.datetime = Field(description="datetime of the creation.") + updated: datetime.datetime | None = Field( + description="datetime of the last update.", default=None + ) class PriceFullWithRelations(PriceFull):