forked from mambaru/mysql-tarantool-replication
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathreplicatord.yml
69 lines (61 loc) · 2.85 KB
/
replicatord.yml
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
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
mysql:
host: 192.168.2.13
port: 3306
user: tarantool
password: tarant00l
connect_retry: 15 # seconds
tarantool:
host: 10.5.4.248:5000
binlog_pos_space: 512
binlog_pos_key: 0
connect_retry: 15 # seconds
sync_retry: 1000 # milliseconds
mappings:
# Первая встреченная в конфиге таблица считается основной для спейса,
# удаление записи в ней вызовет удаление записи и в Tarantool'е.
# Удаление в следующих таблицах с таким-же id спейса удаления записи в Tarantool'е не вызовет,
# вместо этого все поля будут забиты null'ами (с подстановкой, см. ниже)
- database: Monamour2
table: User
columns: [ oid, email, login, prefix_id, confirmed, password, secret ]
space: 513
key_fields: [ 0 ]
# insert_call: function_name
# update_call: function_name
# delete_call: function_name
- database: Monamour2
table: AnketaMini
columns: [ oid, package_id, birthdate, country_id, region_id, city_id, metro_id, gender, orientation, lookfor, age, iam, target, status, system_status, language_id, partner_id, type, type2, type3, type4, search_mode, changed, created, updated, to_vip_status, theme_id ]
space: 513
key_fields: [ 0 ]
- database: Monamour2
table: AnketaNamesDescr
columns: [ oid, name ]
space: 513
key_fields: [ 0 ]
- database: Monamour2
table: DefaultPhotos
columns: [ anketa_id, oid, platform_id, extension, small_face, updated, moderated, huge_adult, rating_id, album_id, width, height, photo_params ]
space: 513
key_fields: [ 0 ]
- database: Monamour2
table: RealUser_Phone
columns: [ anketa_id, number ]
space: 513
key_fields: [ 0 ]
- database: Monamour2
table: AnketaCounter
columns: [anketa_id, photos_active, photos_adult ]
space: 513
key_fields: [ 0 ]
spaces:
# Tarantool не умеет вставлять null'ы в поля, по которым есть индекс, а также при upsert'е зачем-то
# сначала валидирует ВСЕ аргументы, а только потом делает либо вставку, либо апдейт.
# Это проблема, если делать вставку из нескольких таблиц в один спейс, т.к. набор для вставки
# приходится дополнять null'ами, чтобы количество полей было всегда одинаковым.
#
# column_id: { (string|integer|unsigned): value }
513:
replace_null:
1: { string: "" }
2: { string: "" }