Sfoglia il codice sorgente

Merge pull request #3 from shinbay-almaz/Madi

added ORM, configured database
main
Madiwka 1 anno fa
committed by GitHub
parent
commit
c0f7a08945
Non sono state trovate chiavi note per questa firma nel database ID Chiave GPG: 4AEE18F83AFDEB23
4 ha cambiato i file con 46 aggiunte e 1 eliminazioni
  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 Vedi File

@@ -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 Vedi File

@@ -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 Vedi File

@@ -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 Vedi File

@@ -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():


Caricamento…
Annulla
Salva