TGViewer
Node.JS [ru] | Серверный JavaScript Node.JS [ru] | Серверный JavaScript @we_use_js · 10.7K subscribers
Post #5644 902
Один контракт данных, разные адаптеры: как перестать писать миграцию магазина заново

При переезде магазина с InSales автор получил выгрузку в UTF-16 LE с BOM и табуляцией вместо запятой. Сначала это казалось разовой неприятностью, но на следующих проектах повторилась почти вся работа: связать заказ с клиентом, не создать дублей, не потерять адреса страниц, уметь перезапуститься. Вывод — середина должна быть одна, а платформенная специфика живёт в тонком слое на входе.

Готовые инструменты вроде Airbyte и n8n хороши для регулярной синхронизации, но при разовой миграции сложность — в доменных правилах. Их всё равно пишут руками, а тестировать и перезапускать кусочком удобнее в своём каркасе.

В статье — код из реального проекта: собственного магазина, переехавшего с InSales на движок на Next.js и PostgreSQL. Полностью пройдена одна миграция, остальное — проектные требования к каркасу.

Читать на Хабре

👉 Node.JS [ru]
  • ❤ 1
More from @we_use_js
  1. Oct 18, 2026Хватит палить гигабайты на антидетекты: RFC 9421 и открытый протокол wbauth дают AI-агента…
  2. Oct 18, 2026👩‍💻 Всем программистам посвящается! Вот 14 авторских обучающих IT каналов по самым востр…
  3. Oct 18, 2026У Айки, голосового ИИ-админа, был голос на Yandex Realtime, а вот лица не завезли. Автор н…
  4. Oct 18, 2026Как блок-пазл задружился с Шопеном на WebAudio Чувак пилит Blocturne — головоломку с блока…
  5. Oct 16, 2026Как попап расширения Chrome растянулся на 89 секунд Расширения Chrome умеют сами себя зака…
  6. Oct 16, 2026Пилю Flora: соцсеть, где серверу достаётся только шифртекст, а формула ленты валяется в от…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →