summaryrefslogtreecommitdiff
path: root/day9/task5/database.py
blob: b30f8ca3e544195ee8a4fb9ebe9448027eadce6d (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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import MySQLdb
from day9.task5_vue.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;
    '''
)