diff --git a/alembic/versions/1e695b024786_.py b/alembic/versions/1e695b024786_.py new file mode 100644 index 0000000..a2ce12a --- /dev/null +++ b/alembic/versions/1e695b024786_.py @@ -0,0 +1,29 @@ +"""empty message + +Revision ID: 1e695b024786 +Revises: 21dc1dc045b8 +Create Date: 2025-01-20 11:36:14.692849 + +""" + +from typing import Sequence, Union + +import sqlalchemy as sa + +from alembic import op + +# revision identifiers, used by Alembic. +revision: str = "1e695b024786" +down_revision: Union[str, None] = "21dc1dc045b8" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + with op.batch_alter_table("application", schema=None) as batch_op: + batch_op.add_column(sa.Column("retention_days", sa.Integer(), nullable=True)) + + +def downgrade() -> None: + with op.batch_alter_table("application", schema=None) as batch_op: + batch_op.drop_column("retention_days") diff --git a/app/models/app.py b/app/models/app.py index 45ccdab..ac8d2fa 100644 --- a/app/models/app.py +++ b/app/models/app.py @@ -1,6 +1,7 @@ from creyPY.fastapi.models.base import Base -from sqlalchemy import Column, String +from sqlalchemy import Column, Integer, String class Application(Base): name = Column(String(512), nullable=False, unique=True) + retention_days = Column(Integer, nullable=True, default=30) diff --git a/app/models/entry.py b/app/models/entry.py index 25aeda4..9de8a26 100644 --- a/app/models/entry.py +++ b/app/models/entry.py @@ -1,9 +1,9 @@ -from creyPY.fastapi.models.base import Base -from sqlalchemy import Column, String, ForeignKey, Enum, JSON -from sqlalchemy.dialects.postgresql import UUID - from enum import Enum as pyenum +from creyPY.fastapi.models.base import Base +from sqlalchemy import JSON, Column, Enum, ForeignKey, String +from sqlalchemy.dialects.postgresql import UUID + class TransactionType(pyenum): CREATE = "create" diff --git a/app/schema/app.py b/app/schema/app.py index 4bdb5c1..ccf41ca 100644 --- a/app/schema/app.py +++ b/app/schema/app.py @@ -1,8 +1,11 @@ +from pydantic.json_schema import SkipJsonSchema + from app.schema.common import BaseSchemaModelIN, BaseSchemaModelOUT class AppIN(BaseSchemaModelIN): name: str + retention_days: int | SkipJsonSchema[None] = 30 class AppOUT(BaseSchemaModelOUT, AppIN):