eMigrator instantcms 2 миграция с instantcms 1.10

InstantCMS 2.X
#1 16 июля 2019 в 14:49
Итак, предлагаю продолжить обсуждение eMigrator в продолжение этой темы. Цель такая — переносим "как есть" а потом лечим что не перенеслось. А потом добиваем компонентом "переезд"

Дано:
сайт, работает с версии 1.2.1 с почти регулярными миграциями на более новые
за все это время (представляете, как засорялась база), чистил с переменным успехом.


Вес базы данных — около 2Gb
188 таблиц и 1 394 062 записей

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

В прикрепленном файле уже кое-какие правки есть. Переносится так, максимально сохраняя ссылки постов (seolink)
потом, можно будет htaccess` ом
подправить =)

Посты блогов:
oldsite.co/blogs/planeta-evpatorija/japonskaja-mudrost.html
new-site/posts/japonskaja-mudrost.html

Ссылки на блоги:
oldsite.co/blogs/planeta-evpatorija
new-site/blogs/planeta-evpatorija.html

Старый урл ссылки на профиль пользователя:
oldsite.co/users/admin
новый
new-site/users/1

=======================
И тут я пока застрял.
===============================

Новости. На моем сайте "новости" и статьи — это одно и тоже, по сути своей — это контент. Старый, добрый контент.
категории в корне, например site.com/gkh/voda/novost.html, по-этому, в миграторе я не стал пользоваться "news",
нужно полностью избавиться от news и все статьи перенести в articles — сделать их по умолчанию, и будет праздник =)
/system/controllers/emigrator/migrate/articles.php
делаем так в строку
$sql = $this->selectold('category');
в строку
$sql = $this->selectold('content', 'category_id <> 2' ); 2 меняем на 154
пока не знаю как…

articles — у меня будет контентом по умолчанию, так что не важен будет его ulr в самом начале
Всего статей у меня больше 35 тысяч


Статьи
oldsite.co/objavlen-sbor-sredstv-dlja-postradavshih-ot-navodnenija.html
new-site/article-objavlen-sbor-sredstv-dlja-postradavshih-ot-navodnenija.html

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


по остальным типам контента, пробежимся после. Сейчас со статьями надо разобраться.
У меня их больше 35 тыс.
мигрируется только 15 тыс. и зависает
Прикрепленный файл
emigrator0112303_7o0ot.zip 101 Кб
#2 16 июля 2019 в 14:59
Я хочу постараться разобраться —
чтобы можно было доработать мигратор и выложить в паблик

уже более менее привел в порядок
ссылки на посты блогов,
ссылки на блоги
и т.п.

потихоньку

У меня задумка — дать людям инструмент —
так сказать "годный" для настройки мигратора
можно все качественно сделать

я не против прислать базу — я хочу
чтобы в результате этого труда —
получился мигратор, который, пусть и на 2.7
но позволит людям перенести свои проекты на новую систему!

а то на 10.7 у меня начинаются проблемы уже.
То админка по 10 секунд открывается
то выкидывает… хотя работает это все на домашнем сервере с 8 гб оперативки и 8 ядрами iCore 7
#3 16 июля 2019 в 15:00
сейчас мигрирует какое-то количество статей (15 тыс. и выкидывает ошибку)

  1.  
  2. jquery.js:4 POST http://site.com/emigrator/func 500 (Internal Server Error)
  3. send @ jquery.js:4
  4. ajax @ jquery.js:4
  5. n.(anonymous function) @ jquery.js:4
  6. emigrator_migrate @ emigrator:991
  7. onclick @ emigrator:915
  8.  
#4 16 июля 2019 в 15:15
Еще есть один мигратор

github.com/instantsoft/icms2-migration

правильный, как говорят


вот такую картину он показывает
#5 16 июля 2019 в 15:53
вот уже пять минут висит на этом шаге
сюда шел процесс 30 минут




Uncaught TypeError: Cannot read property 'length' of null
at nextMigrationStep (upgrade.js:42)
at Object.success (upgrade.js:34)
at o (jquery.js:2)
at Object.fireWith [as resolveWith] (jquery.js:2)
at w (jquery.js:4)
at XMLHttpRequest.d (jquery.js:4)
#6 16 июля 2019 в 16:57
Есть предложение, сразу под 2.12.2 и младше, дорабатывать мигратор
чтобы и /forum/thread29012.html от Loadырь можно было прикрутить

потому как после создания темы по обсуждению каким он, на самом деле, должен быть городской портал, я так понимаю
там должны быть и новости, и объявления и форум и блоги…

потому что кому-то просто новости почитать…
кому-то пообщаться на форуме
кому-то о себе рассказать или создать сообщество в котором можно организовать сабантуйчик (а это удобнее всего в группах делать)

и народ с этим согласен, местный, кто пользуется сайтом нашего города
потому как если отдельно делать "городской форум" — то не получаешь преимуществ статей
если делаешь отдельно доску объявлений — не получаешь форума (общения как в чате) или блогов или новостей…

и так далее
#7 16 июля 2019 в 18:30
Перенос на 2.12.2 с помощью upgrade:

= опять завис на статьях, с той же ошибкой
+

  1.  
  2. Ошибка в запросе БД:
  3. Неизвестный столбец 'i.is_deleted' в 'where clause'
  4.  
  5. SELECT COUNT( i.id ) as count
  6. FROM cms_con_articles i
  7. LEFT JOIN cms_moderators_tasks as t ON i.id=t.item_id AND t.ctype_name = 'articles'
  8. WHERE (i.user_id = '1') AND (i.is_approved = '0') AND (t.item_id IS NULL) AND (i.is_deleted IS NULL)
  9. Последние вызовы:
  10.  
  11. cmsModel->getCount() @ /system/controllers/content/model.php : 2369
  12. modelContent->getContentItemsCount() @ /system/controllers/content/model.php : 2795
  13. modelContent->getDraftCounts() @ /system/controllers/moderation/frontend.php : 237
  14. moderation->getUserDraftCounts()
  15. call_user_func_array() @ /system/core/action.php : 29
  16. cmsAction->__call() @ /system/controllers/moderation/hooks/menu_moderation.php : 41
  17. onModerationMenuModeration->getUserDraftCounts() @ /system/controllers/moderation/hooks/menu_moderation.php : 41
  18. onModerationMenuModeration->run()
  19. call_user_func_array() @ /system/core/controller.php : 699
  20. cmsController->runExternalHook() @ /system/core/controller.php : 658
  21. cmsController->runHook() @ /system/core/eventsmanager.php : 66
  22.  
+
в админке в настройках вышла ошибка
  1. Notice: Undefined index: list_on in /home/public_html/system/controllers/content/hooks/frontpage_types.php on line 13
  2.  
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.