@@ -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() |
@@ -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() |
@@ -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) | |||||
@@ -1,6 +1,17 @@ | |||||
from fastapi import FastAPI | 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("/") | @app.get("/") | ||||
def root(): | def root(): | ||||