import os from dotenv import load_dotenv from sqlalchemy.orm import declarative_base from sqlalchemy import create_engine from sqlalchemy.exc import SQLAlchemyError from sqlalchemy.orm import scoped_session, sessionmaker from sqlalchemy_utils import database_exists, create_database #NOTE: Load environment variables from .env file load_dotenv() DATABASE = os.getenv('DATABASE') DB_HOST = os.getenv('DB_HOST') DB_USER = os.getenv('DB_USER') DB_PASS = os.getenv('DB_PASS') DB_REBUILD = os.getenv('DB_REBUILD') DB_URI="postgresql://{}:{}@{}/{}".format(DB_USER, DB_PASS, DB_HOST, DATABASE) #, echo=True) engine=create_engine(DB_URI) database=declarative_base() db_session=scoped_session(sessionmaker(bind=engine)) if not database_exists(engine.url): create_database(engine.url) try: connection = engine.connect() print("\n\t\tConnected successfully to database: {}@{}\n".format(DATABASE, DB_HOST)) except SQLAlchemyError as err: print("\n\t\terror", err.__cause__, "\n")