blob: 87982cf813298fcfbd8c25ea805ced59f464ee1a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
from backend.database.wrappers import Wrapper, MySQLWrapper
import logging
def initialize_databases(configs, schemes):
for config in configs:
if config['type'] == 'mysql':
logger = logging.getLogger('backendDebug')
logger.debug('Connected')
logger.debug(f'Trying to connect to database "{config["db_name"]}@{config["host"]}"...')
wrapper = MySQLWrapper(config['host'], config['username'], config['password'], config['db_name'])
wrappers[config['name']] = wrapper
cursor = wrapper.connection.cursor()
for scheme in schemes:
logger.debug(f'Preparing table "{scheme.meta["name"]}"...')
cursor.execute('START TRANSACTION; {} COMMIT;'.format(scheme.get_create_line()))
wrapper.schemes[scheme.meta['name']] = scheme
cursor.close()
def get_wrapper_for(database_name) -> Wrapper:
return wrappers.get(database_name, None)
wrappers = {}
|