И снова мигратор

+26
5.43K
Традиционно первого апреля выходит новый мигратор с чего-нибудь на что-нибудь.
Не будем нарушать традиции. smile

Итак, давно переделал себе из мигратора от SJen для экспериментов небольшой мигратор с первой ветки на вторую. Использую для тестовых сайтов, для рабочего сайта пока рановато.
Мигратор просто переносит содержимое из таблиц при помощи insert-select-update. Логики минимум.

Есть возможность переноса как из таблицы на одном опенсервере, так и из перенесенных таблиц с другим префиксом.
Скажу честно, на моем сайте такие компоненты как объявления и универсальный каталог, статьи и новости не используются совсем, поэтому, возможно они могут переноситься некорректно.
Для пользования мигратором нужно сначала внимательно заполнить шапку файла \system\controllers\fmigrator\model.php

Если у Вас много комментариев (у меня около миллиона), то серверу может не хватить памяти для построения дерева комментариев.
Тогда в выборке в функции public function migrate_tree нужно добавить лимит типа LIMIT $nc, 200000. Тогда разложены по деревьям будут только последние двести тысяч. На них памяти хватит.
Также возникли проблемы с новостями, ведь на первой ветке новости — категория статей. Так что рейтингом и каментами в новостях пришлось пожертвовать.

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

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

Это для экспериментов и общего изучения двойки.
Если кто-то захочет внести свои доработки и улучшения в утилиту — буду только рад.

Совсем забыл про картинки. Все папки из images загрузить в папку upload нового сайта.

Также есть пояснения по блогам. Так как в двойке нет понятия "личный блог", для каждого пользователя делается отдельная группа. Клуб одного джентльмена. По ним и раскладываются посты пользователей.

Собственно сам мигратор
HostelB HostelB 10 лет назад #
Комментарий удален
+2
WebMan WebMan 10 лет назад #
Скачал, посмотрел. Это не прикол, а реальный код.
Поставил плюс за старания и новый материал для изучения. smile
+1
Dorimen Dorimen 10 лет назад #
Покажите сайт, который на Инстант и имеет миллион комментариев...
+2
Ris Ris 10 лет назад #
0
Старый балбес Старый балбес 10 лет назад #
Возможно Dorimen, когда на Вашем сайте будет миллион комментариев, Вы обратитесь к разработчику, данного мигратора стоя на коленях, и плача горькими слезами, - Помоги HiAndy!
Данные разработки должны быть, и должны поощряться, минимум как , позитивными откликами читающих материал.
Если разработчик акцентирует Ваше Dorimen , внимание что Возможно при большом количестве информации, возможно будут проблемы.
И сам разработчик мигратора , предоставляет Вам часть возможных решений.
Зачем тут жечь прагматические идеологии.
0
Dorimen Dorimen 10 лет назад #
Геннадий Иванович, почему Вы решили, что я спросил у уважаемого разработчика с издевкой или как-то над ним насмехаюсь? Мне действительно было интересно увидеть сайт на Инстанте, на котором миллион комментариев. Моим сайтам еще до таких высот расти и расти.
0
rookee rookee 10 лет назад #
у меня на всё что связано с контенотом - 503 Service Unavailable
Что может быть ?
0
Ris Ris 10 лет назад #
Включите отладку в панели управления, что напишет?
0
rookee rookee 10 лет назад #
Разобрался, спасибо. Скоро опубликую для InstantMaps мигратор )) Своё почти перетащил.
0
Ris Ris 10 лет назад #
То есть наличие мапсов как-то модифицирует таблицы контента, что в них пропадают нужные столбцы?

Скоро опубликую для InstantMaps мигратор

v
0
rookee rookee 10 лет назад #
нееее, это 2.5 вносит коррективы. но они поправлены.
+4
rookee rookee 10 лет назад #
Итого добавил перенос:
- Карты
- Видео
- Форум

+ много мелочей поправлено. Доведено до 2.5.1
Инструкция такая же только вызов /fmigrator

Качаем тут: https://yadi.sk/d/8YfGgFAltWXXf
+3
rookee rookee 10 лет назад #
Форум переношу сюда http://instantcms.ru/addons/forum.html
0
Ris Ris 10 лет назад #
Спасибо огромное!
Там косяков много было. У меня под завершение уже глаза разъезжались. laugh
0
rookee rookee 10 лет назад #
у меня тож косяки есть, ибо я ещё тот знаток php и прочего))))

но в целом базу в 50к пользователей перетянуло + видео и прочее.
0
rookee rookee 10 лет назад #
Забыл поправить

В файле model.php

ищем перенос блогов 414 - 415 строка

SELECT
id, title, content,

Так вот это поле скорее всего content_html по умолчанию. Я блоги модифицировал у себя.
0
Endroid Endroid 10 лет назад #
Класс! А url сохраняется при миграции?
P/S: переносил с помощью dbforge статьи с сохранением адреcа url
+1
rookee rookee 10 лет назад #
ну в целом да. Нужно только 301 редирет на maps places делать
RewriteRule ^maps/(.*)$ places/$1 [R=301,L]
Остальные моменты по факту смотреть.


я перенес один проект уже давно. Вроде индекс не сильно пострадал )
0
TOPg TOPg 10 лет назад #
в итоге так и не разобрался по какой ссылке - РАБОЧАЯ актуальная новая версия)))))))))
+1
Ris Ris 10 лет назад #
Любая версия рабочая и актуальная.
Любую придется сильно допиливать под свои требования.
Способ нажал одну кнопку - всё перенеслось, не срабатывает.
Посмотрите код. Там всё просто.
1. Подключились к двум базам.
2. Обозначили названия типов контента для переноса.
3. Подкорректировали как будут выглядеть ссылки после переноса контента.

Основной код в файле model.php
0
TOPg TOPg 10 лет назад #
благодарю
0
Ris Ris 10 лет назад #
Всё делается на опенсервере.
Иначе не получится.
Перенос большой базы с опенсервера на рабочий сайт - есть утилиты. Например dbforge.
0
AlekS AlekS 9 лет назад #
Скажите, а на Денвере на локальном компьютере можно это сделать? А то не знаком с Опенсервером.
0
Ris Ris 9 лет назад #
Вот этим попробуйте:
http://instantcms.ru/forum/thread26769-1.html

Оно даже на реальном хостинге работает.
0
AlekS AlekS 9 лет назад #
Спасибо этот и имел в виду, так как был на форуме, думал они функционально похожи и работают только с опенсервером. Буду пробовать.
0
TOPg TOPg 10 лет назад #
и как сложно ним пользоваться? ибо я попробовал и понял что нужно подключаться к базе. а настроить миграцию из файла бекапа в файл бекап не выйдет что ли?
0
TOPg TOPg 10 лет назад #
и как сложно ним пользоваться? ибо я попробовал и понял что нужно подключаться к базе. а настроить миграцию из файла бекапа в файл бекап не выйдет что ли?
0
Ris Ris 10 лет назад #
Две базы рядом на одном опенсервере.
0
Melon Melon 9 лет назад #
А кто подскажет как перенести телефоны из InstantMaps 1 ветки, данный мигратор только адреса переносит.
+3
Ris Ris 9 лет назад #
Если есть желание (и купленные компоненты мапс), можете скинуть мне структуру таблиц первой и второй веток.
В данный момент делается новый мигратор.
0
Clear Clear 9 лет назад #
Честно говоря так и не понял как же запустить миграцию статей в итоге. Залил в корень сайта содержимое папки fmigrator. В нужном файле заполнил поля подключения к базе данных донора, названия системных полей проверил совпадают. Вот ну а запустить то его сейчас каким образом нужно, что то не пойму
0
Clear Clear 9 лет назад #
Хотя нет, разобрался. Пардонте )) . Тупо запустить site.ru/fmigrator
0
Dimas Dimas 9 лет назад #
1.10.7-> 2.7.2 работает?
0
Ris Ris 9 лет назад #
Есть новая версия на форуме поищите.
Но тоже требует доработок

Еще от автора

Сверхлёгкий webserver на Alpine linux
Не знаю, как нормальных людей, но меня всё время мучает вопрос, зачем для размещения небольшого сайта на виртуальном сервере я вынужден устанавливать
Накрутка рейтинга и кармы пользователям, контенту и фото.
По многочисленным просьбам изготовил новый инструмент для изменения администратором сайта рейтинга и кармы пользователей.
Авторизация по любым полям из профиля и по API
Представляю уважаемому сообществу небольшое дополнение для доработки авторизации вашего сайта, а также для интеграции двух сайтов на Instantcms друг с
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.