move to postgresql
This commit is contained in:
33
core/db/connection.py
Normal file
33
core/db/connection.py
Normal file
@@ -0,0 +1,33 @@
|
||||
"""
|
||||
Database engine and session — SQLModel/SQLAlchemy, no Django.
|
||||
|
||||
Reads DATABASE_URL from the environment.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
|
||||
from sqlalchemy import create_engine
|
||||
from sqlmodel import Session
|
||||
|
||||
DATABASE_URL = os.environ.get("DATABASE_URL", "postgresql://mpr:mpr@localhost:5432/mpr")
|
||||
|
||||
_engine = None
|
||||
|
||||
|
||||
def get_engine():
|
||||
global _engine
|
||||
if _engine is None:
|
||||
_engine = create_engine(DATABASE_URL, pool_size=5, max_overflow=10)
|
||||
return _engine
|
||||
|
||||
|
||||
def get_session() -> Session:
|
||||
return Session(get_engine())
|
||||
|
||||
|
||||
def create_tables():
|
||||
"""Create all SQLModel tables."""
|
||||
from .models import SQLModel # noqa — registers all models
|
||||
SQLModel.metadata.create_all(get_engine())
|
||||
Reference in New Issue
Block a user