Перенос БД со старого сайта на новый

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X

Со SmallNuke на ICMS

#1 10 июля 2017 в 23:47
Уважаемые суперчеловеки, подскажите Христа ради, как перенести или скопировать БД со SmallNuke на ICMS, чтобы не верстать все заново через Ctrl-C и Ctrl-V. Статьи и новости, собственно и все – никаких пользователей, ни блогов, ни комментов (давно отключены по причине отсутствия в движке премодерации). С картинками потом разберусь, но можно и с ними тоже. feofila.ru – работающий старый сайт – чтобы понятней было.
Может кто-нибудь написать инструкцию для простого человека. Имею опыт работы с базами в Word. Соответствие столбцов в PHP My admin, возможно, смогу сделать.
Похожая тема – Миграция с WP на Instant, только я не понимаю куда вставлять PHP код и какой код нужен в моем конкретном случае. Есть хостинг, ISPmamger, Instant версии 2.7.2 установлен.
Буду благодарна за любой совет.
#2 11 июля 2017 в 08:37

Соответствие столбцов в PHP My admin, возможно, смогу сделать.

@Ignatiamon
Я тут делал мигратор с первой ветки инстанта на вторую. Смысл тот же самый, соответствие столбцов.
instantcms.ru/forum/thread26769-1.html
Если нет ничего кроме статей, то Вам нужно будет просто настроить соответствие в файле \system\controllers\emigrator\migrate\articles.php
В смысле определить, что из какого столбца старой таблицы писать в какой столбец новой.
  1. // Формируем массив для функции вставки
  2. $art = array(
  3. 'id' => $res['id'],
  4. 'title' => $res['title'],
  5. 'content' => $res['content'],
  6. 'slug' => $article_slug,
  7. 'seo_keys' => $res['meta_keys'],
  8. 'seo_desc' => $res['meta_desc'],
  9. 'seo_title' => $res['title'],
  10. 'date_pub' => $res['pubdate'],
  11. 'is_pub' => '1',
  12. 'hits_count' => $res['hits'],
  13. 'user_id' => $res['user_id'],
  14. 'parent_url' => $res['seolink'],
  15. 'parent_url' => $res['url'],
  16. 'category_id' => $res['category_id'],
  17. 'is_comments_on' => '1',
  18. 'comments' => '0',
  19. 'rating' => $rating,
  20. 'is_approved' => '1'
  21. );
  22.  
#3 11 июля 2017 в 15:55
Переносил с MaxSiteCMS и с DLE. Нужен был только контент с категориями, тегами, ссылками на файлы. Список пользователей и комменты не требовались. Честно, делал всё руками. В общем ничего сложного, только время и сосредоточенность. Алгоритм был такой:
1. Смотрим исходную БД.
2. Ставим Инстант и создаем для примера одну такую же категорию и добавляем в нее материал из исходного.
3. На добавленном материале смотрим какие столбы в БД Инстанта соответствуют исходной БД.
4. Копируем нужные таблицы в CSV для Excel с кодировкой Windows-1251.
5. Замещаем (добавляем) столбцы в таблицах Инстанта столбцами исходной таблицы. Тут придется повозиться.
6. Сохраняем полученный вариант и загружаем его в БД Инстанта.

Была проблема с файлами из DLE. В исходнике они частично были подгружены при помощи какого-то плагина/хака, частично через дополнительное поле. Используя в Excel поиск и замену, переделал их в прямые ссылки на файлы и вывел отдельным полем. Вообще поиском и заменой было сделано очень много. Когда всё было сделано, понял, что можно было и комменты перенести, главное сохранить исходные id.

Тут главное понять общую систему (а она общая во всех БД — это таблицы с инфой), разработать для себя план действий и по пунктам выполнять. Конечно это не нажать 2 кнопки, но я не жалею что потратил на это определенное время — стал лучше понимать как все это работает, как устроены БД. Думаю ради Христа можно и поучиться ;)
#4 11 июля 2017 в 18:15
@Egu,
Есть очень удобный инструмент для подобных действий:
www.devart.com/ru/dbforge/mysql/studio/
Он и сохраняет таблицу в любом формате и соответствие колонок можно выставить при импорте и т.д.
#5 11 июля 2017 в 18:41
Ris, ну с этим вообще крутяк smoke
#6 13 июля 2017 в 07:38
А через phpmyadmin экспорт/импорт нельзя сделать?
#7 13 июля 2017 в 09:17

А через phpmyadmin экспорт/импорт нельзя сделать?

@idelgujin
Можно. Если структура таблиц одинаковая.
#8 19 июля 2017 в 15:41
Спасибо всем!
Вы так быстро ответили, а я не подписалась на получение ответов и неделю не знала, что люди участвуют в моей теме. Попробую разобраться. Мне, конечно, проще пользоваться инструментами, которые не требуют программирования. Я вот не понимаю куда вставлять предложенный Ris код PHP. Таблицу могу попробовать взять в phpmyadmin.
#9 19 июля 2017 в 16:32
Ris,

Есть очень удобный инструмент для подобных действий:
www.devart.com/ru/dbforge/mysql/studio/

Ris
Не соответствует системным требованиям. У меня не Windows. Нужен он-лайн сервис.
#10 19 июля 2017 в 17:30

Таблицу могу попробовать взять в phpmyadmin.

@Ignatiamon
А какую таблицу?
В instantcms2.7.2 к статьям относятся 7 таблиц.
Сколько их в SmallNuke — я не знаю.
Шлите все таблицы про статьи мне (на яндекс диск выложите и ссылку мне в личку), я Вам перенесу.
#11 26 июля 2017 в 11:57
Спасибо вам, ребята.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.