59 lines
2.7 KiB
Python
59 lines
2.7 KiB
Python
"""
|
||
Структура fields:
|
||
key - поле в таблице postgres
|
||
value - поле или группа полей в таблице legacy
|
||
|
||
В случае передачи группы полей каждое поле представляет собой кортеж, где:
|
||
field[0] - название аргумента
|
||
field[1] - название поля в таблице legacy
|
||
Опционально: field[2] - тип данных для преобразования
|
||
|
||
Структура внешних ключей:
|
||
"legacy_table" - спикок кортежей для сопоставления полей
|
||
"legacy_table": [
|
||
(("legacy_key", "legacy_field"),
|
||
("psql_table", "psql_key", "psql_field", "psql_field_type"))
|
||
], где:
|
||
legacy_table - название модели legacy
|
||
legacy_key - ForeignKey в legacy
|
||
legacy_field - уникальное поле в модели legacy для сопоставления с postgresql
|
||
psql_table - название модели psql
|
||
psql_key - ForeignKey в postgresql
|
||
psql_field - уникальное поле в модели postgresql для сопоставления с legacy
|
||
psql_field_type - тип уникального поля в postgresql
|
||
|
||
|
||
NOTE: среди legacy таблиц совпадение для таблицы Address не найдено (Возможно для Address подходит Locations в legacy)
|
||
"""
|
||
|
||
card = {
|
||
# нету аналога для NewsType
|
||
"News": {
|
||
"data_type": "objects",
|
||
"dependencies": ("NewsType", "MetaDataContent", "Country", "Address"),
|
||
"fields": {
|
||
"NewsOlds": {
|
||
"title": ("title", "TJSONField"),
|
||
|
||
# в NewsOlds нету аналога для поля subtitle модели News, также нет аналогов для полей start, end, playlist
|
||
# "subtitle": ""
|
||
|
||
|
||
# Поле "description" модели News имеет тип JSONField(где ключ - это язык, а значение - новость
|
||
# на языке который указан ключом), а поле "body" NewsOlds имеет тип html-разметки
|
||
# с вставками шаблонизатора Ruby
|
||
# "description" : "body"
|
||
},
|
||
"relations":[
|
||
# "address": "",
|
||
# "country": "",
|
||
# "tags": "",
|
||
# "news_type": ""
|
||
# отложено до выяснения Уточнения и вопросы по мигратору(Как поступать со сбором данных)
|
||
]
|
||
}
|
||
},
|
||
}
|
||
|
||
used_apps = ("location", "main", )
|