def createDB(): #sqliteDBPath = os.path.abspath(os.path.join(os.getcwd(), 'data', 't3.db')) #app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + sqliteDBPath app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://'+app.config['DATABASE']['user']+':'+app.config['DATABASE']['passwd']+'@'+app.config['DATABASE']['host']+':'+str(app.config['DATABASE']['port'] or '')+'/'+app.config['DATABASE']['schema'] db = SQLAlchemy(app, session_options={ #'autoflush': False, #'autocommit': False, 'expire_on_commit': False }) dbConfig = { 'mysql': { 'passive_updates': True, 'cascade_all': 'all, delete, delete-orphan' }, 'sqlite': { 'passive_updates': False, 'cascade_all': 'all, delete, delete-orphan' }, } dbConfigSet = app.config['SQLALCHEMY_DATABASE_URI'].split(':')[0] db._config = type('CustomConfiguration', (object,), dbConfig[dbConfigSet]) return db