Перейти к содержанию

Синхронизация БД


Рекомендуемые сообщения

Всем привет. Такой вопрос технический: переносим сайт с 3.х на 4.1, конвертим базу, допиливаем. Но во время допила меняется старая бд по старому адресу и ее же нужно проапдейтить там, где вносились изменения. Так вот, если старую обновленную сконвертить и подложить под новую - все прокатит? Или как такое можно осуществить вообще?

Ссылка на комментарий
Поделиться на другие сайты

У меня была такая же проблема. Форум большой и активный, пока конвертируешь базу, уже новые сообщения на форум приходят. Пришлось просто на сутки закрыть форум для технических работ.

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, Munchkin сказал:

переносим сайт с 3.х на 4.1, конвертим базу, допиливаем. Но во время допила меняется старая бд по старому адресу и ее же нужно проапдейтить там,

Т.е ты хочешь на другом урле вначале обновить сайт, а потом перенести его на старый урл? Ты вообще вребаешься, что у тебя все внутренние ссылки, включая ссылки на изображения, станут внешними? т.к. ips4 для внутренних ссылок использует __base_url__  ? Что для такого вначале надо заменить по всей базе старый урл на новой, а после переноса сделать обратную операцию.

3 часа назад, Munchkin сказал:

Так вот, если старую обновленную сконвертить и подложить под новую - все прокатит

Нет конечно.

3 часа назад, Munchkin сказал:

Или как такое можно осуществить вообще?

Если очень хочется, то я в подобных случаях просто вывешивал по старому урлу объяву, что на форуме технические работы и просьба ко всем только читать, но не писать.  Активность конечно снижается, но форум доступен как минимум для поисковиков

Ссылка на комментарий
Поделиться на другие сайты

Я так понимаю, что переходить с 3.4 на 4.1 нужно через 3.4.9?

Попробовал обновиться на 3.4.9 - пропали блоги и галерея куда-то, загруженные картинки. Все делаю на тестовом серваке. 

Ладно, после 3.4.9 накатил 4.1 - попросило перекодировать бд. Проверяю бд - таблицы в  utf8_unicode_ci  и  utf8_general_ci . Какая кодировка нужна для 4.1? Пробовал запустить ту тулу, что идет с релизом - не хватает времени все переконвертить - вываливается 500-ая.

Ссылка на комментарий
Поделиться на другие сайты

57 минут назад, Munchkin сказал:

Проверяю бд - таблицы в  utf8_unicode_ci  и  utf8_general_ci . Какая кодировка нужна для 4.1? Пробовал запустить ту тулу, что идет с релизом - не хватает времени все переконвертить - вываливается 500-ая.

Есть такая проблема. Решил дампом базы в файл и ручной заменой collation на нужную: utf8_unicode_ci. Просто правкой текста в дампе. Затем восстановление дампа в базу обратно. Только сначала у самой базы поменяйте collation, иначе таблицы опять в неправильной кодировке могут восстановиться.

Также учтите, что IPS4 требует php5.6 или php7.0.

Ссылка на комментарий
Поделиться на другие сайты

Так можно же у таблиц менять коллейнш прямо на сервере. 

А с версией пхп заранее вопрос уже решил.

Попробовал поменять сравнение и перезапустить установку - количество таблиц для конвертации не уменьшилось, как было 210, так и осталось.

Ссылка на комментарий
Поделиться на другие сайты

3 минуты назад, Munchkin сказал:

Так можно же у таблиц менять коллейнш прямо на сервере. 

 

Можно, конечно, а сколько таких таблиц в базе данных, более 100? А еще бывает, что collation указывается в полях каждой таблицы :) 

Так как вы проблему решили?

Ссылка на комментарий
Поделиться на другие сайты

Еще никак не решил. И надо узнать, куда еще делись блоги и галереи после апгрейда на 3.4.9 )

Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, Munchkin сказал:

куда еще делись блоги и галереи после апгрейда на 3.4.9

восстановите бэкап и делайте апгрейд сразу на четверку. по крайней мене я не апгрейдил до последней тройки, все получилось автоматом. С collation пришлось повозиться, но у меня база более 1GB и средствами mysql конвертировать не реально.

Ссылка на комментарий
Поделиться на другие сайты

Я пробовал сразу накатывать на 3.4.5 - вылазили ошибки, что типа каких-то таблиц не хватает, поэтому попробовал через 3.4.9 - хоть какой-то прогресс.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Munchkin сказал:

Проверяю бд - таблицы в  utf8_unicode_ci  и  utf8_general_ci . Какая кодировка нужна для 4.1?

4 ка хочет, что бы была utf8_unicode_ci .  Что бы не заниматься херней при апгрейде лучше заранее на рабочем форуме перекодировать в utf8_unicode_ci . Считается, что utf8_unicode_ci медленнее utf8_general_ci , но ни фига вы не заметите. А тройка работает и на utf8_unicode_ci.

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

SELECT CONCAT('ALTER TABLE `', t.`TABLE_SCHEMA`, '`.`', t.`TABLE_NAME`, '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;') as sqlcode
  FROM `information_schema`.`TABLES` t
WHERE 1
  AND t.`TABLE_SCHEMA` = 'ВАША БАЗА'

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

 

Ссылка на комментарий
Поделиться на другие сайты

На таком запросе выскакивает ошибка ALTER TABLE `база`.`star_search_keywords` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

SQL запрос:

ALTER TABLE `база`.`star_search_keywords` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci

Ответ MySQL: 

#1062 - 

Ссылка на комментарий
Поделиться на другие сайты

перезапустил апдейтер после того как сделал альтер для всех таблиц - все равно показывает 210 для конвертации

Ссылка на комментарий
Поделиться на другие сайты

34 минуты назад, Munchkin сказал:

На таком запросе выскакивает ошибка ALTER TABLE `база`.`star_search_keywords`

А что это за таблица такая?

22 минуты назад, Munchkin сказал:

все равно показывает 210 для конвертации

А посмотреть в какой кодировке таблицы?

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, kgb сказал:

А что это за таблица такая?

А чтоб я знал. Я ее очистил и конвертнул.

Сейчас все такблицы выглядят так в пхпМайАдмине:

https://i.gyazo.com/aba7f58be24d0ce473441426a336665d.png

Странно... там при установке кеша никакого нет? Сейчас Апгрейд дальше пошел.

Ссылка на комментарий
Поделиться на другие сайты

Если все в юникоде, но апгрейд все равно просит конвертировать, значит в таблицах присутствуют поля в другом collation.

Ссылка на комментарий
Поделиться на другие сайты

В ходе апгрейда вылезло такое:  Column count doesn't match value count at row 1 
/var/www/admin/www/forum.star-citizen-ru.ru/applications/core/sources/Setup/Upgrade.php::664

 

будем дальше гуглить...

Ссылка на комментарий
Поделиться на другие сайты

49 минут назад, Munchkin сказал:

А чтоб я знал. Я ее очистил и конвертнул

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

 

50 минут назад, Munchkin сказал:

Странно... там при установке кеша никакого нет

При установке нет, зато у браузеров есть.

 

35 минут назад, Munchkin сказал:

olumn count doesn't match value count at row

Какого поля не хватает.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Munchkin сказал:

 

В ходе апгрейда вылезло такое:  Column count doesn't match value count at row 1 

 

Если есть возможность продолжить апгрейд, то так и следует поступить, не обращая внимание на ошибки. Так же форум может просить выполнить некоторые mysql запросы вручную. Их следует скопировать в phpmyadmin и выполнить. Если будут ошибки, сразу поймете в чем дело.

Ссылка на комментарий
Поделиться на другие сайты

Продолжать я пробую, только потом опять выскакивает это опять. Ладно, завтра попробую опять все проделать заново. А где можно почитать, что именно нужно сделать перед апгрейдом? Что отключать, что удалять?

Ссылка на комментарий
Поделиться на другие сайты

Отключить все расширения, плагины и т.п. Оставить только папку uploads и public, conf_global.php, остальное удалить. Загружаем новый дистрибутив - и поехали: /admin/upgrade. Перед апгрейдом лучше подготовить базу в ручную, конвертировав в utf8 и обновив collation на utf8_unicode_ci. Более подробные инструкции ищите на форуме и в интернете. 

Ссылка на комментарий
Поделиться на другие сайты

Сделал все как вы описали:

1. Почистил ненужные таблицы

2. Конвертнул

3. Отключил все хуки

4. Отключил все приложения кроме форума и пользователей

5. Перекинул тему на стандартную 

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

7. Закачал установочные файлы и запустил обнову.

Все прошло как по маслу...

Ссылка на комментарий
Поделиться на другие сайты

Единственное, что не нравится на обновленном форуме - это ЧПУ, которые имеют вид домен/forums/forum/подфорум/. Это forums вообще можно как-нибудь убрать?

Ссылка на комментарий
Поделиться на другие сайты

Munchkin, Это часть адреса её нельзя убрать просто так. Все метатеги меняются в АЦ-Сисиетма-Поисковая оптимизация. Там ты можешь назвать как угодно тег  forums

Ссылка на комментарий
Поделиться на другие сайты

10 часов назад, Munchkin сказал:

домен/forums/

В четверке логика URL другая. Первый слеш определяет приложение, которые вы запускаете: форум, календарь, галерею и т.п. Второй слеш - раздел в приложении :) 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...