1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Удаление вторичного контента при удалении первичного

Тема в разделе "Вопросы и ответы по XenForo Framework", создана пользователем Pepelac, 12.08.2012.

Загрузка
  1. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    Навеяно сообщением
    На 99.9% уверен, что ответ разработчиков будет "Перехватывайте нужные события, переопределяйте методы базовых классов и удаляйте сами". И будут правы. Дело не в том, что базу чистить нужно, но ведь сторонние хаки могут и файлы создавать и прочее... Разумнее, все же, самому разработчику хака предусмотреть такие вещи.
    Кстати, спасибо за эту мысль, применю у себя :) Как-то до этого тоже в голову не приходило, что при удалении юзера можно "подчистить" за ним :)
     
    Yoskaldyr нравится это.
  2. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Не, ну такое автоудаление вторичных данных (как описано выше) при удалении основных - НЕ НУЖНО!
    Во первых, если структура прописана правильно через датарайтер, и следовательно удаление основных данных идет через датарайтер, то дополнительные данные в Join таблицах и так уже удалятся автоматически.
    А если разработчик не может побеспокоиться о том что-бы удалить связанные каким либо другим способом данные, но фтопку такой хак.

    P.S. Если человек не может писать хороший код, то он его все равно не будет писать даже если предоставить все инструменты для написания качественного кода.
     
  3. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Та я ж не против, я даже за!
    Просто в один прекрасный момент меня вдруг насторожило, а что же будет с моими данными, кои связанны с удаляемым первичным контентом. Оказывается, я не всегда на это обращал внимание. Пост пользователя о проблеме с регистрацией пользователя из-за невесть откуда взявшегося поля в таблице пользователей навел меня на эти размышления. Хотя там разработчик плагина вообще допустил грубую ошибку, не поставив свой обработчик при добавлении записи в эту таблицу и/или не написав нормальную процедуру деинсталляции своего плагина, которая должна была снести ненужное уже поле.

    Ну а, посмотрев различные плагины от других разработчиков... - в общем, мало, кто заморачивается такой чисткой. Это не есть гуд.

    Мое решение на самом деле - это просто мысли вслух, не более. Но это могло бы помочь другим разработчикам не забывать о том, что нужно подчищать неактуальные данные. Кстати, не во всех плагинах даже процедура деинсталляции-то предусмотрена, включая удаление ненужных таблиц и столбцов. В общем качество все хуже и хуже, а количество все больше и больше. Тенденция нехорошая. Собственно, мое решение также может усугубить текущее состояние. Что-то меня все больше начинает тревожить отсутствие вменяемых стандартов на плагины и зависимости между ними, а также контроль версий под разные версии движка. Собственно, это и стилей должно касаться. Новичку часто сложно разобраться в разных версиях ксена и непонятных проблемах плагинов и стилей с этими версиями, так как нет четкой зависимости от номера версии, хотя изначально оно вроде как может быть использовано. В принципе, отсутствие стандартов на разработку и приводит к такой анархии.

    Я постарался обратить внимание разработчиков плагинов на то, что нужно предусматривать варианты удаления первичных данных. И хорошо, что хотя бы одному это оказалось полезным напоминанием.
     
  4. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Ну а я как раз против таких сомнительных "нововведений". Ибо как уже написал если использовать датарайтер с правильно описанной структурой, то и так автоматом все будет удаляться, а если у меня что-то не через датарайтер привязано, то я лучше буду знать что и как удалять, чем какая-то автоматическая очистка. Просто придумывать костыли что бы не удалять - это значительно большее извращение.
     
  5. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Я слегка не так выразился. Я не против того, чтобы писали все грамотно. Я также за это. Аналогично, я лишь высказал предположение, как можно было бы сделать. Но решение, во всяком случае в том виде, в котором я его первоначально преподнес, действительно сомнительно повлияет на качество, да и в целом на разработку как движка, так и дополнений.
    Тем не менее, согласись, что проблема есть, а ее все игнорируют, что настораживает...
     

Поделиться этой страницей