ABCDEFGHIJKLMNOPQRSTUVWX
1
2
Tables.json - правила заполнения
3
4
5
Текст
Длинный текст
Число
Число с плавающей точкой
ЧекбоксСвязанная таблица (например, выпадающий список)ДатаКонкатинированные поля
6
typevarchartextbigintDECIMAL(A, B)
A - Кол-во символов до запятой
B - Кол-во символов после запятой
tinyintvarchardatevarchar
7
length255201255255
8
from_tableНаименование класса (таблицы), из которого необходимо подтянуть значение поля.
9
keywordДля того чтобы подтянуть значение из внешней таблицы необходимо, внутри текущего класса создать "внешнее_поле_id",
пример (подтягивем пол для юзера):

В классе пол (простой справочник):

gender
"id": {"type": "bigint","length": "20","notNull": true,"autoInc": true,"primary_key": true},
"name": {"type": "varchar","length": "255"},
"sysname": {"type": "varchar","length": "255"}

В классе юзер:

user
"gender_id" : {"type":"bigint","length":"20"} - просто поле, которое будет хранить id
"gender" : {"type":"varchar","length":"255", "from_table":"gender", "keyword":"gender_id", "return_column":"name", "is_virtual":"true"}

Таким образом, в таблице юзер, поле gender будет вытягивать значение колонки name, определенного в поле "return_column" из таблицы пол с id равным gender_id.
10
return_column
Наименование колонки во внешнем классе, откуда подтягивается поле, значение какой колонки вернуть.
11
join tableЗачастую, необходимо подтянуть значение поля через 2 таблицы, например у нас есть 3 класса:
1. Заказ (order_)
2. Станция метро (metro_station)
3. Линия метро (metro_line)

Нам необходимо получить название линии метро в заказе, однако заказ знает только id станции метро, у которой в свою очередь есть id линии метро.

Итак, нам необходимо подтянуть название линии через транзитную таблицу станции метро.

metro_line

"id": { "type": "bigint", "length": "20", "notNull": true, "autoInc": true, "primary_key": true},
"name" : {"type": "varchar", "length": "255", "name": "Наименование"},
"number" : {"type": "varchar", "length": "255", "name": "Номер линии"},
"color" : {"type": "varchar", "length": "255", "name": "Цвет"}

metro_station

"id": { "type": "bigint", "length": "20", "notNull": true, "autoInc": true, "primary_key": true},
"line_id" : {"type": "bigint", "length": "20", "visible": false},
"name" : {"type": "varchar", "length": "255", "name": "Наименование станции"},

order_

"metro_station_id" : {"type": "bigint", "length": "20", "visible": false}, - определяем id станции метро

"metro_line_id" : {"type": "varchar", "length": "255", "from_table": "metro_station", "keyword": "metro_station_id", "return_column": "line_id", "is_virtual": true}, - подтягиваем id линии метро из таблицы metro_station

"metro_line" : {"type": "varchar", "length": "255", "from_table": "metro_line", "join_table": "metro_station", "keyword": "line_id", "return_column": "name", "is_virtual": true, "name": "Линия метро"}, - Подтягиваем название линии метро из таблицы metro_line через (join_table) таблицу metro_station, используя keyword находящийся в таблице metro_station, в поле from_table указываем конечную таблицу из которой получаем данные - metro_line.
12
table_aliasБывают случаи, когда в одном и том же классе необходимо дважды обратиться к внешней таблице для получения одих и тех же полей но для разных случаев, например, в заказе (order_) есть поля "откуда забрать заказ" и "куда отвезти заказ", оба этих поля подтягивают станцию метро. Для того, чтобы данные в этих полях подтягивались по отдельности и имели свои уникальные значения существует параметр "table_alias", значение можно указывать на свое усмотрение.

Пример:

"from_metro_line" : {"type": "varchar", "length": "255", "from_table": "metro_line", "join_table": "metro_station", "table_alias": "metro_station_1", "keyword": "line_id", "return_column": "name", "is_virtual": true, "name": "Откуда забрать, Линия метро"},

"to_metro_line" : {"type": "varchar", "length": "255", "from_table": "metro_line", "join_table": "metro_station", "table_alias": "metro_station_2", "keyword": "line_id", "return_column": "name", "is_virtual": true, "name": "Куда отвезти, Линия метро"},

13
concat_fieldsЗначение нескольких полей из одного класса можно канкатинировать, например чтобы собрать ФИО в одно поле из полей Фамилии Имя и Отчество.

Например:

"firstname": {"type": "varchar","length": "255"},
"lastname": {"type": "varchar","length": "255"},
"midname": {"type": "varchar","length": "255"},
"fio" : {"type": "varchar", "length": "255", "concat_fields": "firstname, ,midname, ,lastname", "is_virtual": true, "name": "ФИО"}

Конкатинировать можно значения полей а также добавлять символы или статические данные, все значения разделяются запятыми.

14
is_virtual
true - поля, которые подтягиваются из внешних таблиц являются виртуальными, значение is_virtual должно быть true.
"true"
15
nameИмя колонки которе будут видеть пользователи вашей системы.
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100