added transfer.py to account, comment and review
This commit is contained in:
parent
511312bb28
commit
4e96d09513
49
apps/account/transfer.py
Normal file
49
apps/account/transfer.py
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
"""
|
||||||
|
Структура 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
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
card = {
|
||||||
|
"User": {
|
||||||
|
"data_type": "objects",
|
||||||
|
"dependencies": None,
|
||||||
|
"fields": {
|
||||||
|
"Accounts": {
|
||||||
|
"username": "nickname",
|
||||||
|
"email": "email",
|
||||||
|
"email_confirmed": ("confirmed_at", "BooleanField")
|
||||||
|
},
|
||||||
|
# Profiles ссылается внешним ключом(account) на Accounts
|
||||||
|
"Profiles": {
|
||||||
|
"first_name": "firstname",
|
||||||
|
"last_name": "lastname"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
used_apps = None
|
||||||
|
|
||||||
|
|
||||||
47
apps/comment/transfer.py
Normal file
47
apps/comment/transfer.py
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
"""
|
||||||
|
Структура 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
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
card = {
|
||||||
|
"Comment": {
|
||||||
|
"data_type": "objects",
|
||||||
|
"dependencies": ("User",),
|
||||||
|
"fields": {
|
||||||
|
"text": "comment",
|
||||||
|
"mark": "mark"
|
||||||
|
# как работать с GenericForeignKey - ?
|
||||||
|
# "content_object" : ""
|
||||||
|
},
|
||||||
|
"relations": {
|
||||||
|
# нужен ответ по вопросу Как поступать со сбором данных
|
||||||
|
# "Accounts": [
|
||||||
|
# (("account_id", "account_id"),
|
||||||
|
# ("User", "id", "user", "PositiveIntegerField"))
|
||||||
|
# ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
used_apps = ("account", )
|
||||||
58
apps/review/transfer.py
Normal file
58
apps/review/transfer.py
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
"""
|
||||||
|
Структура 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
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
card = {
|
||||||
|
"Review": {
|
||||||
|
"data_type": "objects",
|
||||||
|
"dependencies": ("User",),
|
||||||
|
"fields": {
|
||||||
|
"Reviews": {
|
||||||
|
"published_at": "published_at",
|
||||||
|
"vintage": "vintage",
|
||||||
|
# как работать с GenericForeignKey - ?
|
||||||
|
# "content_object": ""
|
||||||
|
},
|
||||||
|
"ReviewTexts": {
|
||||||
|
# полу text в модели Review имеет тип TJSONField, а поле text в модели ReviewTexts имеет тип TextField
|
||||||
|
# при их сопоставлении использовать поле locale модели ReviewTexts
|
||||||
|
"text": "text"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"relations": {
|
||||||
|
# вопрос с внешним ключом language
|
||||||
|
|
||||||
|
# нужен ответ по вопросу как поступать со сбором данных
|
||||||
|
# "Accounts": [
|
||||||
|
# (("account_id", "account_id"),
|
||||||
|
# ("User", "id", "reviewer", "PositiveIntegerField"))
|
||||||
|
# ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
used_apps = ("account", )
|
||||||
|
|
@ -566,3 +566,67 @@ class EmailAddresses(MigrateMixin):
|
||||||
managed = False
|
managed = False
|
||||||
db_table = 'email_addresses'
|
db_table = 'email_addresses'
|
||||||
|
|
||||||
|
|
||||||
|
class Reviews(MigrateMixin):
|
||||||
|
using = 'legacy'
|
||||||
|
|
||||||
|
vintage = models.PositiveIntegerField()
|
||||||
|
mark = models.FloatField(blank=True, null=True)
|
||||||
|
favorite = models.IntegerField(blank=True, null=True)
|
||||||
|
account = models.ForeignKey(Accounts, models.DO_NOTHING, blank=True, null=True)
|
||||||
|
establishment = models.ForeignKey(Establishments, models.DO_NOTHING, blank=True, null=True)
|
||||||
|
visited_at = models.DateField(blank=True, null=True)
|
||||||
|
created_at = models.DateTimeField()
|
||||||
|
published_at = models.DateTimeField(blank=True, null=True)
|
||||||
|
updated_at = models.DateTimeField()
|
||||||
|
aasm_state = models.CharField(max_length=255, blank=True, null=True)
|
||||||
|
reviewer_id = models.IntegerField()
|
||||||
|
priority = models.IntegerField(blank=True, null=True)
|
||||||
|
#TODO: модель Products в postgres закомментирована
|
||||||
|
product = models.ForeignKey("Products", models.DO_NOTHING, blank=True, null=True)
|
||||||
|
received_at = models.DateTimeField(blank=True, null=True)
|
||||||
|
reviewer_name = models.CharField(max_length=255, blank=True, null=True)
|
||||||
|
type = models.CharField(max_length=255, blank=True, null=True)
|
||||||
|
locked = models.IntegerField(blank=True, null=True)
|
||||||
|
temporary = models.IntegerField(blank=True, null=True)
|
||||||
|
last_state_change_at = models.DateTimeField(blank=True, null=True)
|
||||||
|
editor = models.ForeignKey(Accounts, models.DO_NOTHING, blank=True, null=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'reviews'
|
||||||
|
|
||||||
|
|
||||||
|
class ReviewTexts(MigrateMixin):
|
||||||
|
using = 'legacy'
|
||||||
|
|
||||||
|
review = models.ForeignKey('Reviews', models.DO_NOTHING, blank=True, null=True)
|
||||||
|
locale = models.CharField(max_length=5, blank=True, null=True)
|
||||||
|
text = models.TextField(blank=True, null=True)
|
||||||
|
updated_by = models.ForeignKey(Accounts, models.DO_NOTHING, db_column='updated_by', blank=True, null=True)
|
||||||
|
created_at = models.DateTimeField()
|
||||||
|
updated_at = models.DateTimeField()
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'review_texts'
|
||||||
|
|
||||||
|
class Comments(MigrateMixin):
|
||||||
|
using = 'legacy'
|
||||||
|
|
||||||
|
account = models.ForeignKey(Accounts, models.DO_NOTHING, blank=True, null=True)
|
||||||
|
establishment = models.ForeignKey('Establishments', models.DO_NOTHING)
|
||||||
|
parent_id = models.IntegerField(blank=True, null=True)
|
||||||
|
main_parent_id = models.IntegerField(blank=True, null=True)
|
||||||
|
comment = models.TextField(blank=True, null=True)
|
||||||
|
mark = models.DecimalField(max_digits=4, decimal_places=2, blank=True, null=True)
|
||||||
|
locale = models.CharField(max_length=5)
|
||||||
|
ip = models.CharField(max_length=40)
|
||||||
|
state = models.CharField(max_length=255, blank=True, null=True)
|
||||||
|
created_at = models.DateTimeField()
|
||||||
|
updated_at = models.DateTimeField()
|
||||||
|
date = models.DateField(blank=True, null=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'comments'
|
||||||
Loading…
Reference in New Issue
Block a user