From f13e18a27ec0ae9f7514b92a964a1a23c8176bd3 Mon Sep 17 00:00:00 2001 From: urec56 Date: Fri, 9 Feb 2024 13:21:53 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=91=D0=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...льность_авы.py => 8b2764a42ee6_изменение_models_py.py} | 16 ++++---- .../ae1bfb8ea886_изменение_models_py.py | 38 +++++++++++++++++++ ...odels_py.py => dd610307d6a0_изменение_models_py.py} | 10 ++--- chat_test/app/users/models.py | 6 ++- chat_test/app/users/router.py | 2 +- chat_test/app/users/schemas.py | 3 +- 6 files changed, 58 insertions(+), 17 deletions(-) rename chat_test/app/migrations/versions/{6d13086c9c2d_убрал_обязательность_авы.py => 8b2764a42ee6_изменение_models_py.py} (55%) create mode 100644 chat_test/app/migrations/versions/ae1bfb8ea886_изменение_models_py.py rename chat_test/app/migrations/versions/{2913a8a70afb_изменение_models_py.py => dd610307d6a0_изменение_models_py.py} (91%) diff --git a/chat_test/app/migrations/versions/6d13086c9c2d_убрал_обязательность_авы.py b/chat_test/app/migrations/versions/8b2764a42ee6_изменение_models_py.py similarity index 55% rename from chat_test/app/migrations/versions/6d13086c9c2d_убрал_обязательность_авы.py rename to chat_test/app/migrations/versions/8b2764a42ee6_изменение_models_py.py index b92c56c..b7c1b44 100644 --- a/chat_test/app/migrations/versions/6d13086c9c2d_убрал_обязательность_авы.py +++ b/chat_test/app/migrations/versions/8b2764a42ee6_изменение_models_py.py @@ -1,8 +1,8 @@ -"""Убрал обязательность авы +"""Изменение models.py -Revision ID: 6d13086c9c2d -Revises: 2913a8a70afb -Create Date: 2024-02-03 13:12:24.466115 +Revision ID: 8b2764a42ee6 +Revises: dd610307d6a0 +Create Date: 2024-02-09 12:59:20.127130 """ from typing import Sequence, Union @@ -12,19 +12,19 @@ import sqlalchemy as sa # revision identifiers, used by Alembic. -revision: str = '6d13086c9c2d' -down_revision: Union[str, None] = '2913a8a70afb' +revision: str = '8b2764a42ee6' +down_revision: Union[str, None] = 'dd610307d6a0' 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! ### - pass + op.add_column('users', sa.Column('date_of_registration', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=False)) # ### end Alembic commands ### def downgrade() -> None: # ### commands auto generated by Alembic - please adjust! ### - pass + op.drop_column('users', 'date_of_registration') # ### end Alembic commands ### diff --git a/chat_test/app/migrations/versions/ae1bfb8ea886_изменение_models_py.py b/chat_test/app/migrations/versions/ae1bfb8ea886_изменение_models_py.py new file mode 100644 index 0000000..239c64f --- /dev/null +++ b/chat_test/app/migrations/versions/ae1bfb8ea886_изменение_models_py.py @@ -0,0 +1,38 @@ +"""Изменение models.py + +Revision ID: ae1bfb8ea886 +Revises: 8b2764a42ee6 +Create Date: 2024-02-09 13:18:35.765055 + +""" +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = 'ae1bfb8ea886' +down_revision: Union[str, None] = '8b2764a42ee6' +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.alter_column('users', 'date_of_registration', + existing_type=postgresql.TIMESTAMP(timezone=True), + type_=sa.Date(), + existing_nullable=False, + existing_server_default=sa.text('now()')) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.alter_column('users', 'date_of_registration', + existing_type=sa.Date(), + type_=postgresql.TIMESTAMP(timezone=True), + existing_nullable=False, + existing_server_default=sa.text('now()')) + # ### end Alembic commands ### diff --git a/chat_test/app/migrations/versions/2913a8a70afb_изменение_models_py.py b/chat_test/app/migrations/versions/dd610307d6a0_изменение_models_py.py similarity index 91% rename from chat_test/app/migrations/versions/2913a8a70afb_изменение_models_py.py rename to chat_test/app/migrations/versions/dd610307d6a0_изменение_models_py.py index ea589e6..043ce4d 100644 --- a/chat_test/app/migrations/versions/2913a8a70afb_изменение_models_py.py +++ b/chat_test/app/migrations/versions/dd610307d6a0_изменение_models_py.py @@ -1,8 +1,8 @@ """Изменение models.py -Revision ID: 2913a8a70afb +Revision ID: dd610307d6a0 Revises: -Create Date: 2024-02-01 14:31:04.662656 +Create Date: 2024-02-09 12:49:56.643283 """ from typing import Sequence, Union @@ -12,7 +12,7 @@ import sqlalchemy as sa # revision identifiers, used by Alembic. -revision: str = '2913a8a70afb' +revision: str = 'dd610307d6a0' down_revision: Union[str, None] = None branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None @@ -26,8 +26,8 @@ def upgrade() -> None: sa.Column('username', sa.String(), nullable=False), sa.Column('hashed_password', sa.String(), nullable=False), sa.Column('role', sa.Integer(), nullable=False), - sa.Column('black_phoenix', sa.Integer(), nullable=False), - sa.Column('avatar_image', sa.String(), server_default='app/static/images/ту уже пешка BP.png', nullable=True), + sa.Column('black_phoenix', sa.Boolean(), nullable=False), + sa.Column('avatar_image', sa.String(), server_default='app/static/images/ты уже пешка BP.png', nullable=True), sa.Column('date_of_birth', sa.Date(), nullable=False), sa.PrimaryKeyConstraint('id') ) diff --git a/chat_test/app/users/models.py b/chat_test/app/users/models.py index e64aeec..b9b2af4 100644 --- a/chat_test/app/users/models.py +++ b/chat_test/app/users/models.py @@ -1,6 +1,7 @@ -from datetime import date +from datetime import date, datetime from typing import Optional +from sqlalchemy import DateTime, func from sqlalchemy.orm import mapped_column, Mapped, relationship from app.database import Base @@ -14,9 +15,10 @@ class Users(Base): username: Mapped[str] hashed_password: Mapped[str] role: Mapped[int] - black_phoenix: Mapped[int] # Заменить на bool + black_phoenix: Mapped[bool] avatar_image: Mapped[Optional[str]] = mapped_column(server_default='app/static/images/ты уже пешка BP.png') date_of_birth: Mapped[date] + date_of_registration: Mapped[date] = mapped_column(server_default=func.now()) message = relationship("Messages", back_populates="user") usersxchats = relationship("UsersXChats", back_populates="user") diff --git a/chat_test/app/users/router.py b/chat_test/app/users/router.py index f9eaa85..0c3061a 100644 --- a/chat_test/app/users/router.py +++ b/chat_test/app/users/router.py @@ -43,7 +43,7 @@ async def register_user(response: Response, user_data: SUserRegister): username=user_data.username, date_of_birth=user_data.date_of_birth, role=0, - black_phoenix=0 + black_phoenix=False ) user = await authenticate_user_by_email(user_data.email, user_data.password) access_token = create_access_token({"sub": str(user.id)}) diff --git a/chat_test/app/users/schemas.py b/chat_test/app/users/schemas.py index d51c8ef..d2f1f76 100644 --- a/chat_test/app/users/schemas.py +++ b/chat_test/app/users/schemas.py @@ -21,8 +21,9 @@ class SUser(BaseModel): id: int username: str avatar_image: str - black_phoenix: int + black_phoenix: bool date_of_birth: date + date_of_registration: date class Config: from_attributes = True