TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
GetAnalyst - Навыки • Системный анализ • Бизнес-анализ

1 Oct 2024, 09:07

Открыть в Telegram Поделиться Пожаловаться

GetAnalyst - Примеры БД для ShipEasyGA.drawio.png
693.2Кб
📝 Изменения в БД в связи подключением внешней системы 📝

Прежде чем показать пример маппинга данных, я детальнее проработала часть модели БД для #ShipEasyGA.

Показала ER-диаграммы ДО -> ПОСЛЕ на прикрепленной картинке 🖼


Ключевые решения:

1. Создана таблица address для хранения структурированных адресов.

Каждый адрес (отправления и получения) привязывается к клиенту-отправителю.

При следующем заказе можно предлагать клиенту выбрать адрес из истории: при нажатии на строку с полным адресом, без ввода символов, сразу показывать подсказки со структурированными адресами из предыдущих заказов.

Это сэкономит запросы во внешнюю систему.

1.1. Один адрес может быть использован для нескольких заказов одного клиента.


1.2. Если два разных клиента введут одинаковые адреса, то структурированный адрес будет сохранен в БД дважды, для двух разных клиентов.

Это поведение системы считаем нормальным. При желании можно усложнять и оптимизировать 🙂

2. В таблице order добавила ссылки для адресов отправления pickup_address_id (UUID) и получения delivery_address_id (UUID).


Не обязательные, Так как для старых заказов, которые были созданы до обновлений, не будет структурированных адресов.

3. В таблице order для старых заказов останутся поля с полными адресами pickup_address (varchar(512), NOT NULL) и delivery_address (varchar(512), NOT NULL), их нельзя удалять.


Это нужно, чтобы сохранить обратную совместимость в БД - то есть не “сломать” старые заказы, которые ориентируются на это поле.

Также, чтобы не сломать отображения адреса в большом количестве других мест системы, мы продолжим автоматически заполнять эти поля на основе структурированных адресов.


* Для каждого заказа хранится копия данных об отправителе и получателе.

Если клиент, как пользователь системы, сменит фамилию, почту или телефон, то мы не будем "ломать" старые заказы и сохраним исторические данные.



Теперь, когда мы понимаем и структуру БД проекта, можно переходить к маппингу для нашей интеграционной задачи 🙌


#ИнтеграцииGA #БДGA

3.2k 1 39 1 23
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot