From 2305ced85888a23f86ecfcdfb64a3b69c4997a4c Mon Sep 17 00:00:00 2001 From: Andrew Date: Sun, 21 Jul 2019 12:14:09 +0400 Subject: =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BF=D0=B8=D1=81=D0=B0=D0=BD?= =?UTF-8?q?=20=D0=B1=D0=B5=D0=BA=D0=B5=D0=BD=D0=B4.=20=D0=94=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=B2=D0=B0=D0=BB=D0=B8?= =?UTF-8?q?=D0=B4=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BF=D1=80=D0=B8=20=D0=BE?= =?UTF-8?q?=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B8=20=D0=B7?= =?UTF-8?q?=D0=BD=D0=B0=D1=87=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=B2=20=D1=80?= =?UTF-8?q?=D1=8F=D0=B4=D1=83.=20=D0=A3=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BF=D1=80=D0=B5=D0=B4=D1=8B=D0=B4=D1=83=D1=89=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B1=D0=B5?= =?UTF-8?q?=D0=B7=20vue.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- day9/task5_vue/backend/database/database.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 day9/task5_vue/backend/database/database.py (limited to 'day9/task5_vue/backend/database/database.py') diff --git a/day9/task5_vue/backend/database/database.py b/day9/task5_vue/backend/database/database.py new file mode 100644 index 0000000..87982cf --- /dev/null +++ b/day9/task5_vue/backend/database/database.py @@ -0,0 +1,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 = {} -- cgit v1.2.3