Задать вопрос
@Anton_98

Как импортировать заказы на новый сайт?

Есть старый сайт, он пока работает, и новый сайт, который был разработан на основе старого (делался бекап).

Нужно со старого сайта перенести заказы на новый (заказы за собой еще тянут импорт пользователей), просто перенести базу не получится, так как на новом сайте отличаются инфоблоки (на новом были добавлены разные свойства).

Был написан скрипт, который сделал экспорт в JSON пользователей и заказов. Но при загрузке стали отличатся ID, E-mail, User. Подскажите, как можно сделать импорт?

Прилагаю два файла: импорт и экспорт
  • Вопрос задан
  • 107 просмотров
Подписаться 1 Сложный 3 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    1C-программист: расширенный курс
    18 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
moderatorh
@moderatorh
В IT с 1987-го года.
1. Вначале определите все используемые таблицы. Кроме пользователей там могутбыть еще вынесены другие значения.
Но принцип решения задачи таков:
1. Определяете все задействованные таблицы.
2. Заходите в чат с любимой LLM, хорошо показавшей себя в кодинге. Например GLM 4.6. Это бесплатно на счет випиэна не помню, но по моему не требует в России. Если требует, то Квин или Дипсик, они точно без ВПН работают из России. (Актуальные лучшие LLM для кодинга смотрим на LMArena).
3. Атачим в чат все таблицы и просим собрать все необходимые поля и их значения для товаро, пользователей и пр. в одну таблицу.
Либо попросите написать скрипт на баше, Go, пайтоне и т.д для этой же задачи.
4. Достаете нужные таблицы из новой базы.
5. Просите добавить все из получившейся таблицы в новые... Ну или заказываете скрипт.
Эта задача по силам большинства современных сетей и не потребует от Вас долгой отладки и сильно сэкономит время.
Не забывайте начать с бекапов старой и новой базы, это избавит Вас от кучи проблем.
Если где то нужны подробности, пишите.
Ответ написан
Комментировать
W1DO_DIGITAL
@W1DO_DIGITAL
Senior Tech Lead | AI Solution Architect | Founder
Для корректного импорта при несовпадении ID и структур данных вам необходимо реализовать промежуточный слой маппинга (сопоставления) сущностей. Вместо прямой вставки записей создайте таблицу соответствия старых и новых ID пользователей, используя Email как уникальный ключ для связки.

При импорте заказов сначала проверяйте наличие пользователя по Email, создавайте его при необходимости и только затем привязывайте заказ к актуальному внутреннему ID. Для обработки различий в инфоблоках и свойствах используйте DTO (Data Transfer Object) или сервис-слой, который будет трансформировать JSON-структуру старого сайта в формат, ожидаемый API или ORM вашего нового движка.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы