Как обновить схему Roundcube Webmail "1.5.2 " в ручную.

Ответить
Аватара пользователя
paxom
Администратор
Сообщения: 216
Зарегистрирован: 29 окт 2014, 07:26
Откуда: Moskow
Контактная информация:

Как обновить схему Roundcube Webmail "1.5.2 " в ручную.

Сообщение paxom »

Добрый день рассмотрим вариант когда схема или база mysql не обновилась , после не корректного обновления.
Самый главный ответ лежит ( для версии Roundcube Webmail 1.5.2 ) в статье https://github.com/roundcube/roundcubem ... nitial.sql здесь расписано, какие какие таблицы в базе были созданы с описанием команд.
Например ошибка добавления в контакты(для загрузки содержимого контента) при нажатии кнопки "разрешить всегда от (email)"
в лагох можно было наблюдать

Код: Выделить всё

[число-месяч-год часы:минуты:секунды +часовойпояс по гринвичу]: <ччччч> DB Error: [1146] Table 'ваша база .collected_addresses' doesn't exist (SQL Query: SELECT * FROM `collected_addresses` WHERE `user_id` = '24' AND `type` = '2' AND и так далее 
Это значит что при обновлении не была создана таблица "collected_addresses". Её можно создать через phpMyAdmin(как установить расширение на сайт узнаете из других источников.) Заходим https://ваш_сайт/phpmyadmin и выбираем в левом списке базу своей почты, на открывшемся окне нажимаем на закладку SQL, далее вставляем из текста по ссылке указанной выше текст

Код: Выделить всё

CREATE TABLE `collected_addresses` (
 `address_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
 `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
 `name` varchar(255) NOT NULL DEFAULT '',
 `email` varchar(255) NOT NULL,
 `user_id` int(10) UNSIGNED NOT NULL,
 `type` int(10) UNSIGNED NOT NULL,
 PRIMARY KEY(`address_id`),
 CONSTRAINT `user_id_fk_collected_addresses` FOREIGN KEY (`user_id`)
   REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
 UNIQUE INDEX `user_email_collected_addresses_index` (`user_id`, `type`, `email`)
) ROW_FORMAT=DYNAMIC ENGINE=INNODB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

далее при нажатии на кнопку "вперед" ? если получаем ошибку синтаксиса проверяем все построчно, это может быть , что угодно например @type@ возможно убрать двойные кавычки, убрать значение дефаулт для datetime, после создания отредактировать таблицу "address_id" убрать галочку NULL, а добавить A-L галочку, changed добавить значение по умолчанию 1000-01-01 00:00:00, могут быть не созданы индексы,. Их можно создать вручную "Создать индекс для 1 столбца/ов " и нажмете вперед,(

Код: Выделить всё

CREATE UNIQUE INDEX ix_collected_addresses_user_id ON collected_addresses(user_id, "type", email);
ix_collected_addresses_user_id - это индекс; столбец№1 user_id, столбец№2 "type";столбец№3 это будет email
Надеюсь я доступно пишу, самое главное это желание понять , не пытайтесь бездумно копировать, конфигурация может быть разной, она может меняться. но обычно один автор пишет в одном стиле, и главное найти исходники, многие выкладывают свои уникальные конфиги, которые вам не подходят, но если понять суть или найти достойный мануал , где автор статьи заменяет русскими словами "ваш сайт или ваша база данных" и оставляет только слова команд на английском, Вы точно все поймете и у Вас все заработает.
Все изменения в схеме по очередной указаны https://github.com/roundcube/roundcubem ... QL/mysql Смотрим какая версия схемы у вас , и какие были , из этой статьи создаем таблицы в ручную.
Админ.

mailto:admin@stop-nelegal.ru
Ответить

Вернуться в «Вопросы по работе форума.»