diff --git a/apps/establishment/transfer.py b/apps/establishment/transfer.py index bf9aca39..fca4619c 100644 --- a/apps/establishment/transfer.py +++ b/apps/establishment/transfer.py @@ -33,6 +33,7 @@ card = { # "establishment_type": "EstablishmentType", # "establishment_subtypes": "EstablishmentSubType", "collections": "Collection", + # TODO: нашел schedules в legacy # "schedule": "Timetable", "award": "Award", # "tags": "MetaDataContent", diff --git a/apps/location/transfer.py b/apps/location/transfer.py index 9598246c..64334b28 100644 --- a/apps/location/transfer.py +++ b/apps/location/transfer.py @@ -9,9 +9,10 @@ field[1] - название поля в таблице legacy Опционально: field[2] - тип данных для преобразования Структура внешних ключей: +"legacy_table" - спикок кортежей для сопоставления полей "legacy_table": [ - ("legacy_key", "legacy_field"), - ("psql_table", "psql_key", "psql_field", "psql_field_type") + (("legacy_key", "legacy_field"), + ("psql_table", "psql_key", "psql_field", "psql_field_type")) ], где: legacy_table - название модели legacy legacy_key - ForeignKey в legacy @@ -45,7 +46,15 @@ card = { "code": "region_code", }, }, - "relations": {} + "relations": { + "Cities": [( + (None, "country_code_2"), + ("Country", "country", "code", "CharField")), + ((None, "subregion_code"), #TODO: как сопоставлять parent_region из postgres с subregion_code из legacy ? + ("Region", "parent_region", "code", "CharField")) + + ] + } }, "City": { @@ -63,7 +72,12 @@ card = { }, }, "relations": { - + "Cities": [( + (None, "region_code"), + ("Region", "region", "code", "CharField")), + ((None, "country_code_2"), + ("Country", "country", "code", "CharField")) + ] } }, @@ -79,6 +93,10 @@ card = { }, }, "relations": { + "Locations": [ #TODO: Locations ссылается внешним ключом на Cities + # (("city", "name"), + # ("City", "city", "name", "CharField")) + ] } } diff --git a/apps/transfer/models.py b/apps/transfer/models.py index a811c305..86d96532 100644 --- a/apps/transfer/models.py +++ b/apps/transfer/models.py @@ -407,3 +407,24 @@ class Menus(MigrateMixin): class Meta: managed = False db_table = 'menus' + + +class Schedules(MigrateMixin): + using = 'legacy' + + establishment = models.ForeignKey(Establishments, models.DO_NOTHING, blank=True, null=True) + continuous_service = models.CharField(max_length=255, blank=True, null=True) + open_august = models.CharField(max_length=255, blank=True, null=True) + lunch_start = models.TimeField(blank=True, null=True) + lunch_end = models.TimeField(blank=True, null=True) + diner_start = models.TimeField(blank=True, null=True) + diner_end = models.TimeField(blank=True, null=True) + opening_hours = models.CharField(max_length=255, blank=True, null=True) + opening_dates = models.CharField(max_length=255, blank=True, null=True) + timetable = models.CharField(max_length=10000, blank=True, null=True) + created_at = models.DateTimeField() + updated_at = models.DateTimeField() + + class Meta: + managed = False + db_table = 'schedules'