summaryrefslogtreecommitdiff
path: root/day9/task5_vue/backend/schemes.py
blob: c0af1dd180d3e8604055e4e59d46c0d0f9148d7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from backend.database.field_types import *
from backend.database.validators import *
from backend.database.scheme import DatabaseScheme


class Day9Table(DatabaseScheme):
    meta = {
        'name': 'table_task1',
        'primary_key': 'service_id'
    }

    fields = {
        'service_id': IntegerField(None, False, True, None, validators=[ValidateNull, ValidateType]),
        'servtype': TextField(20, True, False, 'hosting', validators=[ValidateNull, ValidateLength, ValidateType]),
        'subtype': TextField(32, True, False, '', validators=[ValidateNull, ValidateLength, ValidateType]),
        'user_id': IntegerField(None, False, False, None, validators=[ValidateNull, ValidateType]),
        'referrer_user_id': IntegerField(None, False, False, None, validators=[ValidateNull, ValidateType]),
        'state': TextField(1, False, False, 'N', validators=[ValidateNull, ValidateLength, ValidateType]),
        'creation_date': DateField(False, '0000-01-01', validators=[ValidateType, ValidateNull, ValidateDate]),
        'creation_time': TimeField(False, '00:00:00', validators=[ValidateType, ValidateNull, ValidateTime]),
        'creation_request_sent_date': DatetimeField(True, None, validators=[ValidateType, ValidateDatetime]),
        'notified_about_expiration': IntegerField(None, False, False, 0, validators=[ValidateNull, ValidateType])
    }