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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В файле model.php

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

SELECT
id, title, content,

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


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

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

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

Еще от автора

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