Browse Source

Первые шаги подключения BD к API

master
VinokurovVE 10 months ago
parent
commit
a2a400fff3
  1. 23
      backend-app/database.py
  2. 0
      backend-app/repo/__init__.py
  3. 0
      backend-app/repo/crud.py
  4. 21
      backend-app/repo/model.py
  5. 2
      backend-app/repo/schema.py

23
backend-app/database.py

@ -0,0 +1,23 @@
from sqlalchemy.ext.asyncio import async_sessionmaker, AsyncSession, create_async_engine
from sqlalchemy.orm import DeclarativeBase
class Model(DeclarativeBase):
pass
async_engine=create_async_engine(
url = "mssql+aioodbc://sa:159357"\
"@10.124.30.208:1433/test_db"\
"?driver=ODBC+Driver+17+for+SQL+Server",
connect_args={"check_same_thread": False}
)
async_session = async_sessionmaker(
async_engine,
autoflush=True,
autocommit=False,
expire_on_commit =False
)
# async def get_async_session() -> AsyncSession:
# async with async_session() as session:
# session.

0
backend-app/repo/__init__.py

0
backend-app/repo/crud.py

21
backend-app/repo/model.py

@ -0,0 +1,21 @@
from database import Model
from sqlalchemy.orm import Mapped, mapped_column
from sqlalchemy import String, Integer, Boolean, ForeignKey
from typing import Optional, Sequence
class UserModel(Model):
__tablename__ ="users"
id: Mapped[int] = mapped_column(Integer, primary_key=True)
firstname: Mapped[str | None]= mapped_column(String(255), nullable=True)
lastname: Mapped[str | None]= mapped_column(String(255), nullable=True)
age: Mapped[int | None] = mapped_column(Integer, nullable=True)
email: Mapped[str | None] = mapped_column(String(255), nullable=True)
login_id: Mapped[int] = mapped_column(Integer, ForeignKey("logins.id"))
class LoginModel(Model):
__tablename__ ="logins"
id: Mapped[int] = mapped_column(Integer, primary_key=True)
login: Mapped[str]= mapped_column(String(255), nullable=False)
password: Mapped[str]= mapped_column(String(255), nullable=False)

2
backend-app/repo/schema.py

@ -0,0 +1,2 @@
from pydantic import BaseModel
Loading…
Cancel
Save