Browse Source

Изменение метадаты моделей с правильным наименованием конвенций

master
VinokurovVE 10 months ago
parent
commit
bdd764c411
  1. 19
      backend-app/alembic/versions/2024_07_31_2303-43539348d64d_create_tables_user_login_with_convention.py
  2. 6
      backend-app/core/models/base.py
  3. 7
      backend-app/core/settings.py

19
backend-app/alembic/versions/2024_07_31_2249-12fb0121c6a3_create_tables_user_login.py → backend-app/alembic/versions/2024_07_31_2303-43539348d64d_create_tables_user_login_with_convention.py

@ -1,8 +1,8 @@
"""create tables user, login
"""create tables user, login with convention
Revision ID: 12fb0121c6a3
Revision ID: 43539348d64d
Revises:
Create Date: 2024-07-31 22:49:23.147480
Create Date: 2024-07-31 23:03:58.400569
"""
@ -13,7 +13,7 @@ import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = "12fb0121c6a3"
revision: str = "43539348d64d"
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("id", sa.Integer(), nullable=False),
sa.Column("username", sa.String(length=255), nullable=False),
sa.Column("password", sa.String(length=255), nullable=False),
sa.PrimaryKeyConstraint("id"),
sa.UniqueConstraint("username"),
sa.PrimaryKeyConstraint("id", name=op.f("pk_logins")),
sa.UniqueConstraint("username", name=op.f("uq_logins_username")),
)
op.create_table(
"users",
@ -38,11 +38,10 @@ def upgrade() -> None:
sa.Column("email", sa.String(length=255), nullable=True),
sa.Column("login_id", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(
["login_id"],
["logins.id"],
["login_id"], ["logins.id"], name=op.f("fk_users_login_id_logins")
),
sa.PrimaryKeyConstraint("id"),
sa.UniqueConstraint("email"),
sa.PrimaryKeyConstraint("id", name=op.f("pk_users")),
sa.UniqueConstraint("email", name=op.f("uq_users_email")),
)
# ### end Alembic commands ###

6
backend-app/core/models/base.py

@ -1,5 +1,7 @@
from sqlalchemy.orm import DeclarativeBase
from sqlalchemy import MetaData
from core.settings import settings
class Base(DeclarativeBase):
pass
__abstract__ = True
metadata = MetaData(naming_convention=settings.db.convention)

7
backend-app/core/settings.py

@ -11,6 +11,13 @@ class DatabaseConfig(BaseModel):
echo_pool:bool=False
pool_size: int = 50
max_overflow: int =10
convention:dict = {
"ix": "ix_%(column_0_label)s",
"uq": "uq_%(table_name)s_%(column_0_name)s",
"ck": "ck_%(table_name)s_%(constraint_name)s",
"fk": "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s",
"pk": "pk_%(table_name)s",
}
class Settings(BaseSettings):
model_config = SettingsConfigDict(

Loading…
Cancel
Save