database.py
754 Bytes
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import text
import yaml
import os
# load database settings from yml file
def init_db_uri():
with open('db/db.yml', 'r') as f:
db_config = yaml.load(f, Loader=yaml.FullLoader)
return db_config
# creating a connection string
db = SQLAlchemy()
def init_db(app):
db_config = init_db_uri()
db_uri = f"mysql+{db_config['driver']}://{db_config['user']}:{db_config['password']}@{db_config['host']}/{db_config['dbname']}"
app.config['SQLALCHEMY_DATABASE_URI'] = db_uri
basedir = os.path.abspath(os.path.dirname(__file__))
db_path = os.path.join(basedir, '', '', 'database.db')
app.config['SQLALCHEMY_BINDS'] = {'db2': f'sqlite:///{db_path}'}
db.init_app(app)