Skip to content

Commit 92ac030

Browse files
committed
JOS-06 - conecctions file updated
1 parent 3191454 commit 92ac030

File tree

2 files changed

+19
-6
lines changed

2 files changed

+19
-6
lines changed

app.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from routes.task_routes import task_routes
33
import logging
44
from database.conecctions import SingletonConnection
5-
from models.task_model import Task, Base
5+
from models.task_model import Base
66

77
app = Flask(__name__)
88
app.register_blueprint(task_routes, url_prefix='/tasks')
@@ -12,5 +12,6 @@
1212
engine = db.get_engine()
1313

1414
Base.metadata.create_all(bind=engine)
15+
1516
if __name__ == '__main__':
16-
app.run(debug=True, port=3001)
17+
app.run(debug=True, port=3001)

database/conecctions.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,33 @@
11
from sqlalchemy import create_engine
22
from config.credentials import credentials
33
import logging
4+
from sqlalchemy.orm import sessionmaker
5+
6+
47
class SingletonConnection:
58
_instance = None
9+
610
def __init__(self) -> None:
711
self.logger = logging.getLogger(__name__)
812

913
def __new__(cls):
1014
if not cls._instance:
11-
engine = create_engine("mysql+pymysql://"+str(credentials['user'])+":"+str(credentials['password'])+"@"+str(credentials['host'])+":3306/"+str(credentials["database"]))
1215
cls._instance = super().__new__(cls)
13-
cls._instance.engine = engine
16+
cls._instance._initialize_engine()
1417
return cls._instance
1518

19+
def _initialize_engine(self):
20+
self.logger = logging.getLogger(__name__)
21+
self.engine = create_engine(
22+
f"mysql+pymysql://{credentials['user']}:{credentials['password']}@{credentials['host']}:3306/{credentials['database']}")
23+
Session = sessionmaker(bind=self.engine)
24+
self.session = Session()
1625

1726
def get_engine(self):
1827
try:
19-
return self.engine
28+
return self.engine
2029
except Exception as error:
21-
self.logger.error("connection error -", str(error))
30+
self.logger.error("connection error -", str(error))
31+
32+
def get_session(self):
33+
return self.session

0 commit comments

Comments
 (0)