base de datos
This commit is contained in:
@ -1,8 +1,8 @@
|
||||
import os
|
||||
from dotenv import load_dotenv
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
from sqlalchemy import create_engine, Column, Integer, String, DateTime
|
||||
from sqlalchemy.orm import sessionmaker, declarative_base
|
||||
from datetime import datetime
|
||||
|
||||
# Cargar variables del archivo .env (para entorno local)
|
||||
load_dotenv()
|
||||
@ -16,6 +16,21 @@ MYSQL_PORT = os.getenv("MYSQL_PORT", "3306")
|
||||
|
||||
DATABASE_URL = f"mysql+pymysql://{MYSQL_USER}:{MYSQL_PASSWORD}@{MYSQL_HOST}:{MYSQL_PORT}/{MYSQL_DATABASE}"
|
||||
|
||||
# Modelo de datos de entrada
|
||||
Base = declarative_base()
|
||||
|
||||
class NewsItem(Base):
|
||||
__tablename__ = 'news'
|
||||
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
titulo = Column(String(255), unique=True, nullable=False)
|
||||
contenido = Column(String, nullable=False)
|
||||
autor = Column(String(100))
|
||||
fuente = Column(String(100))
|
||||
fecha = Column(DateTime, default=datetime.utcnow)
|
||||
link = Column(String(255))
|
||||
keyword = Column(String(100))
|
||||
|
||||
# Crear el motor de base de datos
|
||||
engine = create_engine(DATABASE_URL)
|
||||
|
||||
@ -23,7 +38,6 @@ engine = create_engine(DATABASE_URL)
|
||||
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
|
||||
|
||||
# Base para los modelos
|
||||
Base = declarative_base()
|
||||
|
||||
# Dependencia para obtener la sesión de la BD
|
||||
def get_db():
|
||||
|
Reference in New Issue
Block a user