summaryrefslogtreecommitdiff
path: root/day9/task5_vue/backend/database.py
diff options
context:
space:
mode:
Diffstat (limited to 'day9/task5_vue/backend/database.py')
-rw-r--r--day9/task5_vue/backend/database.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/day9/task5_vue/backend/database.py b/day9/task5_vue/backend/database.py
new file mode 100644
index 0000000..5484041
--- /dev/null
+++ b/day9/task5_vue/backend/database.py
@@ -0,0 +1,43 @@
+import MySQLdb
+from backend.config import *
+
+import logging
+
+
+def db_column_names():
+ cursor = db.cursor()
+ cursor.execute('DESCRIBE table_task1;')
+ table_structure = cursor.fetchall()
+ table_headers = [field[0] for field in table_structure]
+ return table_headers
+
+
+logger = logging.getLogger('tableApp')
+logger.info(f'Trying to connect to database "{DATABASE_NAME}@{HOST}"...')
+# В файле config.py создайте соответствующие переменные
+db = MySQLdb.connect(
+ host=HOST,
+ user=USERNAME,
+ passwd=PASSWORD,
+ db=DATABASE_NAME
+)
+logger.info('Connected')
+
+logger.info(f'Preparing table "table_task1"...')
+db.cursor().execute(
+ '''
+ CREATE TABLE IF NOT EXISTS `table_task1` (
+ `service_id` int(11) NOT NULL AUTO_INCREMENT,
+ `servtype` varchar(20) NOT NULL DEFAULT 'hosting',
+ `subtype` varchar(32) NOT NULL DEFAULT '',
+ `user_id` bigint(20) NOT NULL,
+ `referrer_user_id` bigint(20) NOT NULL,
+ `state` varchar(1) NOT NULL DEFAULT 'N',
+ `creation_date` date NOT NULL DEFAULT '0000-01-01',
+ `creation_time` time NOT NULL DEFAULT '00:00:00',
+ `creation_request_sent_date` datetime DEFAULT NULL,
+ `notified_about_expiration` smallint(6) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`service_id`)
+ ) ENGINE=InnoDB AUTO_INCREMENT=35109400 DEFAULT CHARSET=utf8;
+ '''
+)