Niansuh commited on
Commit
c3cc347
·
verified ·
1 Parent(s): 399aaa1

Create database.py

Browse files
Files changed (1) hide show
  1. database.py +30 -0
database.py ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # database.py
2
+ from sqlalchemy import create_engine
3
+ from sqlalchemy.ext.declarative import declarative_base
4
+ from sqlalchemy.orm import sessionmaker
5
+ import os
6
+ from dotenv import load_dotenv
7
+
8
+ # Load environment variables from .env file
9
+ load_dotenv()
10
+
11
+ MYSQL_HOST = os.getenv("MYSQL_HOST")
12
+ MYSQL_PORT = os.getenv("MYSQL_PORT")
13
+ MYSQL_DATABASE = os.getenv("MYSQL_DATABASE")
14
+ MYSQL_USER = os.getenv("MYSQL_USER")
15
+ MYSQL_PASSWORD = os.getenv("MYSQL_PASSWORD")
16
+
17
+ DATABASE_URL = f"mysql+pymysql://{MYSQL_USER}:{MYSQL_PASSWORD}@{MYSQL_HOST}:{MYSQL_PORT}/{MYSQL_DATABASE}"
18
+
19
+ # Create SQLAlchemy engine
20
+ engine = create_engine(
21
+ DATABASE_URL,
22
+ pool_pre_ping=True,
23
+ pool_recycle=3600
24
+ )
25
+
26
+ # Create a configured "Session" class
27
+ SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
28
+
29
+ # Base class for models
30
+ Base = declarative_base()