Bläddra i källkod

added ORM, configured database

main
Madiwka 1 år sedan
förälder
incheckning
f848e8b8f8
4 ändrade filer med 46 tillägg och 1 borttagningar
  1. +12
    -0
      app/core/config.py
  2. +11
    -0
      app/db/base_model.py
  3. +11
    -0
      app/db/session.py
  4. +12
    -1
      app/main.py

+ 12
- 0
app/core/config.py Visa fil

@@ -0,0 +1,12 @@
class Settings:
PROJECT_NAME:str = "VMS"
PROJECT_VERSION:str = "1.0.0"
POSTGRES_USER : str = "VMSBase"
POSTGRES_PASSWORD = "VMSBasePass"
POSTGRES_SERVER : str = "localhost"
POSTGRES_PORT : str = "5432"
POSTGRES_DB : str = "VMSData"
DATABASE_URL = f"postgresql://{POSTGRES_USER}:{POSTGRES_PASSWORD}@{POSTGRES_SERVER}:{POSTGRES_PORT}/{POSTGRES_DB}"
settings = Settings()

+ 11
- 0
app/db/base_model.py Visa fil

@@ -0,0 +1,11 @@
from typing import Any
from sqlalchemy.ext.declarative import declared_attr
from sqlalchemy.orm import as_declarative


@as_declarative()
class Base:
id: Any
__name__: str
def __tablename__(cls) -> str:
return cls.__name__.lower()

+ 11
- 0
app/db/session.py Visa fil

@@ -0,0 +1,11 @@
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from core.config import settings


SQLALCHEMY_DATABASE_URL = settings.DATABASE_URL
engine = create_engine(SQLALCHEMY_DATABASE_URL)
print(SQLALCHEMY_DATABASE_URL)

SessionLocal = sessionmaker(autocommit=False,autoflush=False,bind=engine)


+ 12
- 1
app/main.py Visa fil

@@ -1,6 +1,17 @@
from fastapi import FastAPI
from core.config import settings
from db.session import engine
from db.base_model import Base

app = FastAPI()

def startup(): #start the project, and create the tables
app = FastAPI(title=settings.PROJECT_NAME,version=settings.PROJECT_VERSION)
Base.metadata.create_all(bind=engine)
return app



app = startup()

@app.get("/")
def root():


Laddar…
Avbryt
Spara