Как автоматически включить для всех уведомления на e-mail?

Вопросы без привязки к версии. Установлена авточистка (2 года).
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9645
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 173 раза
Поблагодарили: 2674 раза
Контактная информация:

Re: Как автоматически включить для всех уведомления на e-mail?

Сообщение Татьяна5 » 26.07.2019 23:49

Это вручную, удалить и создать заново
Из бекапа тогда и код для создания таблицы заодно достаньте (нечто вроде CREATE TABLE ...)

tomskafo
phpBB 1.4.3
Сообщения: 91
Зарегистрирован: 29.12.2018 10:05
Откуда: Tomsk
Благодарил (а): 20 раз
Поблагодарили: 4 раза
Контактная информация:

Re: Как автоматически включить для всех уведомления на e-mail?

Сообщение tomskafo » 27.07.2019 9:21

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

CREATE TABLE `phpbb3_user_notifications` (
  `item_type` varchar(165) COLLATE utf8_bin NOT NULL DEFAULT '',
  `item_id` int(10) unsigned NOT NULL DEFAULT 0,
  `user_id` int(10) unsigned NOT NULL DEFAULT 0,
  `method` varchar(165) COLLATE utf8_bin NOT NULL DEFAULT '',
  `notify` tinyint(1) unsigned NOT NULL DEFAULT 1,
  UNIQUE KEY `itm_usr_mthd` (`item_type`,`item_id`,`user_id`,`method`),
  KEY `user_id` (`user_id`),
  KEY `uid_itm_id` (`user_id`,`item_id`),
  KEY `usr_itm_tpe` (`user_id`,`item_type`,`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
Этот код?
А как после создания новой таблицы поместить в новую таблицу ее старое содержание?

Аватара пользователя
Perfecthus
phpBB 2.0.6
Сообщения: 518
Зарегистрирован: 21.10.2010 8:39
Откуда: Оттуда
Благодарил (а): 44 раза
Поблагодарили: 50 раз

Re: Как автоматически включить для всех уведомления на e-mail?

Сообщение Perfecthus » 27.07.2019 9:43

Импортировать

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9645
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 173 раза
Поблагодарили: 2674 раза
Контактная информация:

Re: Как автоматически включить для всех уведомления на e-mail?

Сообщение Татьяна5 » 27.07.2019 9:59

Этот
Потом снова восстановить таблицу из бекапа, как уже делали

tomskafo
phpBB 1.4.3
Сообщения: 91
Зарегистрирован: 29.12.2018 10:05
Откуда: Tomsk
Благодарил (а): 20 раз
Поблагодарили: 4 раза
Контактная информация:

Re: Как автоматически включить для всех уведомления на e-mail?

Сообщение tomskafo » 27.07.2019 10:45

Вау!!! Мне удалось пересоздать эту таблицу полностью, и так, что теперь она легко оптимизируется и не зависает!
Спасибо всем за подсказки!!!

Да, я понимаю конечно, что эта таблица не нуждается в оптимизации, но когда я в phpMyAdmin оптимизирую таблицы, я выделяю не таблицы, которые нуждаются в оптимизации, не выборочно, а сразу нажимаю "Выделить все", и потом "Оптимизировать таблицу" - и они все без исключения оптимизируются одновременно. После обновления платформы сервера при выполнении этих операций начались глюки, зависания и тормоза. Теперь проблема решена, это снова стало возможно, все таблицы оптимизируются легко и быстро.

Отправлено спустя 2 часа 41 минуту 41 секунду:
И всё-таки эта таблица - phpbb3_user_notifications - особенная... ведет себя не так как другие таблицы.
Она сейчас легко оптимизируется только в той версии phpMyAdmin, в которой я ее пересоздал.
Попробовал из другой версии phpMyAdmin сделать то же самое - фиг вам... не оптимизируется и виснет.

И еще. Возможно это важно. Из моих наблюдений.
В таблицу phpbb3_user_notifications при каждой регистрации делаются записи, добавляются строки. Но далеко не все регистрации (юзеры, их id) остаются на форуме, в базе данных, в таблице юзеров.
Вот сейчас была регистрация очередного спамера-хрумера - я его естественно удалил, в таблице юзеров его нет и id его там больше нет, однако в таблице phpbb3_user_notifications все эти записи об уведомлении даже удалённых юзеров - существуют и накапливаются постоянно, таких записей уже не существующих юзеров много, очень много.

Позавчера удалил несколько спамеров, вчера, сегодня, в таблице пользователей их нет, а в таблице phpbb3_user_notifications все их id присутствуют, и везде проставлены галочки об их уведомлении.
То есть так или иначе нужен инструмент, который бы мог работать с этой таблицей, и мог бы привести ее в соответствие с таблицей юзеров, чтобы в ней не хранилось огромное число давно несуществующих id пользователей. А такого инструмента, увы, пока нет.

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11452
Зарегистрирован: 18.02.2007 19:01
Откуда: Рига, Латвия (страна-недоразумение)
Благодарил (а): 52 раза
Поблагодарили: 2555 раз
Контактная информация:

Re: Как автоматически включить для всех уведомления на e-mail?

Сообщение Sheer » 27.07.2019 13:58

Сервер базы данных: MySQL(i) 5.7.16
Версия phpBB: 3.2.7
Сжатие GZip: Отключено
Тип базы данных: mysqli
Версия php: 7.1.0
Все нормально отимизируется, хотя в этом нет никакой необходимости. Совсем нет. Я не понимаю, зачем это делать!
Сконверитруйте таблицы в InnoDB и забудьте про оптимизацию и дефрагментацию таблиц.
tomskafo писал(а):
27.07.2019 13:27
Позавчера удалил несколько спамеров
Как удалял-то? Только что проверил - создал пользователя, посмотрел в таблице _user_notifications, записи есть, удалил пользователя, записи для его ИД в таблице _user_notifications исчезли. То есть все работает штатным образом, никаких велосипедов изобретать не надо.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

tomskafo
phpBB 1.4.3
Сообщения: 91
Зарегистрирован: 29.12.2018 10:05
Откуда: Tomsk
Благодарил (а): 20 раз
Поблагодарили: 4 раза
Контактная информация:

Re: Как автоматически включить для всех уведомления на e-mail?

Сообщение tomskafo » 27.07.2019 14:34

А у меня не исчезают, иначе я бы не писал об этой проблеме.
Вот скрин содержимого таблицы (ее конец) - тут можно видеть юзеров id=13850 и id=13849
А между тем у меня сейчас последний зарегистрированный на форуме - ляська - id=13847

а эти id=13850 и id=13849 удалены, спамеры, их нет в таблице юзеров, но они есть у меня в таблице phpbb3_user_notifications

Как удаляю? А разве есть какие-то изощренные способы? Если по одному, то из аккаунта пользователя в самом низу:
Удалить пользователя:
Учтите, что удаление пользователя необратимо, он не может быть восстановлен. Непрочитанные личные сообщения, отправленные данным пользователем, также будут удалены и не будут доступны получателям.
Кнопка "Отправить".

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

Отправлено спустя 9 минут 14 секунд:
На форум поддержки phpBB я обратился не просто так, а потому что действительно проблема.
Вот скрин таблицы юзеров (ее конец).
Если знаете - объясните мне, почему у меня записи в таблице уведомлений сохраняются и накапливаются, а в таблице юзеров этих id давно нет.
Я этого не понимаю. И решить самостоятельно эту проблему пока не могу.

Отправлено спустя 4 минуты 53 секунды:
А между id=13820 и id=13847 я сегодня вручную из таблицы поудалял, т.к. на форуме их нет, это вчерашние массовые регистрации хрумера - у них вчера-позавчера вышла новая версия программы.
все эти id были в таблице уведомлений один за другим, а в таблице юзеров их не было сразу же после их удаления.
Вложения
333344446.JPG
2223334445.jpg

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11452
Зарегистрирован: 18.02.2007 19:01
Откуда: Рига, Латвия (страна-недоразумение)
Благодарил (а): 52 раза
Поблагодарили: 2555 раз
Контактная информация:

Re: Как автоматически включить для всех уведомления на e-mail?

Сообщение Sheer » 27.07.2019 14:59

tomskafo писал(а):
27.07.2019 14:48
А между id=13820 и id=13847 я сегодня вручную из таблицы поудалял
Результат на лице :P
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9645
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 173 раза
Поблагодарили: 2674 раза
Контактная информация:

Re: Как автоматически включить для всех уведомления на e-mail?

Сообщение Татьяна5 » 27.07.2019 15:20

tomskafo писал(а):
27.07.2019 14:48
вручную из таблицы
От них огромное количество "хвостов" теперь в БД
Вычищайте вручную

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11452
Зарегистрирован: 18.02.2007 19:01
Откуда: Рига, Латвия (страна-недоразумение)
Благодарил (а): 52 раза
Поблагодарили: 2555 раз
Контактная информация:

Re: Как автоматически включить для всех уведомления на e-mail?

Сообщение Sheer » 27.07.2019 15:33

Татьяна5 писал(а):
27.07.2019 15:20
Вычищайте вручную
Замучается. В добавок, не зная структуру БД, вообще безнадежно :|
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9645
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 173 раза
Поблагодарили: 2674 раза
Контактная информация:

Re: Как автоматически включить для всех уведомления на e-mail?

Сообщение Татьяна5 » 27.07.2019 15:44

Как вариант - добавить вручную записи под удалёнными id в _users и удалить их потом стандартно

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14405
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 344 раза
Поблагодарили: 1514 раз
Контактная информация:

Re: Как автоматически включить для всех уведомления на e-mail?

Сообщение rxu » 27.07.2019 15:50

Татьяна5 писал(а):
27.07.2019 15:20
От них огромное количество "хвостов" теперь в БД
Автор и говорит о том, что удаляет "хвосты" в таблице уведомлений, а не пользователей вручную удаляет.
tomskafo писал(а):
27.07.2019 14:48
почему у меня записи в таблице уведомлений сохраняются и накапливаются, а в таблице юзеров этих id давно нет.
При удалении пользователей данные о них из таблицы уведомлений также должны автоматически удаляться.
У вас не удаляются ни для каких пользователей?
Изображение

tomskafo
phpBB 1.4.3
Сообщения: 91
Зарегистрирован: 29.12.2018 10:05
Откуда: Tomsk
Благодарил (а): 20 раз
Поблагодарили: 4 раза
Контактная информация:

Re: Как автоматически включить для всех уведомления на e-mail?

Сообщение tomskafo » 27.07.2019 17:45

А между id=13820 и id=13847 я сегодня вручную из таблицы поудалял
Вручную поудалял из таблицы phpbb3_user_notifications разумеется.

При удалении пользователей на форуме данные о них удаляются только в таблице юзеров, но не в таблице phpbb3_user_notifications.

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14405
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 344 раза
Поблагодарили: 1514 раз
Контактная информация:

Re: Как автоматически включить для всех уведомления на e-mail?

Сообщение rxu » 27.07.2019 17:46

tomskafo писал(а):
27.07.2019 17:45
данные о них удаляются только в таблице юзеров, но не в таблице phpbb3_user_notifications.
Связанные с этим ошибки в логах вебсервера или сервера СУБД есть?

Отправлено спустя 29 секунд:
И какая версия phpBB?
Изображение

tomskafo
phpBB 1.4.3
Сообщения: 91
Зарегистрирован: 29.12.2018 10:05
Откуда: Tomsk
Благодарил (а): 20 раз
Поблагодарили: 4 раза
Контактная информация:

Re: Как автоматически включить для всех уведомления на e-mail?

Сообщение tomskafo » 27.07.2019 17:54

версия форума 3.2.5
про логи не знаю... но глюки наблюдаются на форуме в последние две недели:
-то меня и других пользователей неожиданно выкидывает из системы, и приходится заново авторизоваться;
- то вдруг неожиданно я замечаю, войдя на форум под своим логином, что вверху справа не моя аватарка, а моего напарника или кого-то другого из пользователей (то есть оказываюсь как бы в чужом аккаунте против своей воли) - про такую неожиданную подмену аккаунтов мне и напарник мой говорил, что пару раз видел себя неожиданно в моем аккаунте, то есть вверху справа моя была аватарка, и т.п.
Ранее такого у нас не наблюдалось, пока хостеры пару недель назад не обновили платформу сервера, и связанные с этим настройки.
Но накапливались ли в phpbb3_user_notifications пользователи до обновления хостерами сервера - не могу сказать, не знаю.

Ответить

Вернуться в «phpBB-пространство»