| Server IP : 185.11.201.71 / Your IP : 192.168.7.18 Web Server : Apache/2.4.29 (Ubuntu) System : Linux tech-virtual-machine 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 User : tech ( 1000) PHP Version : 7.4.28 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /comunica/app_ojos_/app/ |
Upload File : |
"""
database.py
Description: Database connection setup and session management.
Last Updated: 2024-08-07
Version: 1.0.0
Copyright (c) 2024 Tech-Impulse, Gerard Lahuerta
License: MIT License (see LICENSE for more details)
"""
#################################################################################################################################
from sqlalchemy import create_engine, text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from sqlalchemy.exc import OperationalError
import sys
import os
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from config import SQL_DATABASE_URL, CONN_SQL_SERVER, MYSQL_DB
#################################################################################################################################
def create_database():
try:
# Conectar al servidor MySQL sin especificar una base de datos
engine = create_engine(CONN_SQL_SERVER)
conn = engine.connect()
# Ejecutar la consulta para crear la base de datos si no existe
conn.execute(text(f"CREATE DATABASE IF NOT EXISTS {MYSQL_DB}"))
conn.close()
except OperationalError as e:
print(f"Error creating database: {e}")
raise
def get_db():
db = SessionLocal()
try:
yield db
finally:
db.close()
#################################################################################################################################
# Crear la base de datos si no existe
create_database()
engine = create_engine(SQL_DATABASE_URL)
Base = declarative_base()
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)