Backend con base de datos relacional MySQL

This commit is contained in:
Mireya Cueto Garrido
2026-03-27 09:02:28 +01:00
parent e9a3bf6c21
commit 57b64b4f1e
15 changed files with 106 additions and 19 deletions
View File
+18
View File
@@ -0,0 +1,18 @@
import os
from sqlalchemy import create_engine
DB_USER = "root"
DB_PASSWORD = "root"
DB_HOST = "db"
DB_PORT = "3306"
DB_NAME = "deckofcards"
DATABASE_URL = (
f"mysql+pymysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}"
)
engine = create_engine(
DATABASE_URL,
pool_pre_ping=True,
echo=False
)
+5
View File
@@ -0,0 +1,5 @@
from .connection import engine
from .models import Base
def init_db():
Base.metadata.create_all(bind=engine)
+14
View File
@@ -0,0 +1,14 @@
from sqlalchemy.orm import declarative_base
from sqlalchemy import Column, Integer, String, Float
Base = declarative_base()
class DoCMFLevel(Base):
__tablename__ = "docmf_levels"
id = Column(Integer, primary_key=True, index=True)
term = Column(String(50), nullable=False)
core_a = Column(Float, nullable=False)
core_b = Column(Float, nullable=False)
support_c = Column(Float, nullable=False)
support_d = Column(Float, nullable=False)
+15
View File
@@ -0,0 +1,15 @@
from sqlalchemy.orm import sessionmaker
from .connection import engine
SessionLocal = sessionmaker(
autocommit=False,
autoflush=False,
bind=engine
)
def get_db():
db = SessionLocal()
try:
yield db
finally:
db.close()