Поддержка Плагины Требования к плагинам при создании таблиц

  • Скажите, разве оф репо нет требований к плагинам чтобы использовали префиксы таблиц из конфига?
    В указанном выше плагине применён вот такой способ и мне кажется такого быть не должно в оф. каталоге:

    
         public function activate()
      {
        global $wpdb;
    
        $collate = $wpdb->get_charset_collate();
    
        $wpdb->query("
          CREATE TABLE IF NOT EXISTS wc_ukr_shipping_np_areas (
            ref VARCHAR(36) NOT NULL,
            description VARCHAR(255) NOT NULL
          ) $collate
        ");
    
        $wpdb->query("
          CREATE TABLE IF NOT EXISTS wc_ukr_shipping_np_cities (
            ref VARCHAR(36) NOT NULL,
            description VARCHAR(255) NOT NULL,
            description_ru VARCHAR(255) NOT NULL,
            area_ref VARCHAR(36)
          ) $collate
        ");
    
        $wpdb->query("
          CREATE TABLE IF NOT EXISTS wc_ukr_shipping_np_warehouses (
            ref VARCHAR(36) NOT NULL,
            description VARCHAR(255) NOT NULL,
            description_ru VARCHAR(255) NOT NULL,
            city_ref VARCHAR(36),
            number INT(10) NOT NULL DEFAULT 0
          ) $collate
        ");
    
        update_option('wc_ukr_shipping_migration_version', WC_UKR_SHIPPING_MIGRATION_VERSION);
      }
    
    

    К тому же нет ни индексов ни автоинкремента.

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Скажите, разве оф репо нет требований к плагинам чтобы использовали префиксы таблиц из конфига?

    Это правило хорошего тона, но требования такого нет. Текущие требования можно посмотреть на странице «Detailed Plugin Guidelines».

    К тому же нет ни индексов ни автоинкремента.

    Об этом можно написать авторам плагина.

    Модератор Юрий

    (@yube)

    Судя по наличию wp_ в именах таблиц, автор явно забыл (или не знал) о префиксах. Забавно, но в случае этого плагина префиксы не нужны, потому что то, что хранится в БД, не зависит от сайта.

    Индексы, да, не помешают. Автоинкремент — ни к чему, uuid отлично справляется с ролью ключа.

    Это правило хорошего тона, но требования такого нет.

    Жаль. Думаю что должны бы быть. См ниже мой ответ Юрию.

    Судя по наличию wp_ в именах таблиц,

    Вообще-то там wc_, а не wp_. 🙂

    Забавно, но в случае этого плагина префиксы не нужны, потому что то, что хранится в БД, не зависит от сайта.

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

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

    2. Некоторые другие плагины (например плагины бекапов) ориентируются на префикс и проигнорируют эти таблицы.
    Это и случилось в моём случае, что заставило обратить на это внимание. А межу тем используется платная версия этого плагина. В ней создаются ещё 3 таблицы.

    3. Мелочь наверное, но тем не менее это несколько затрудняет работу с базой, если в ней же например форум или другой движок. И незнание такой «особенности» плагина может повлечь за собой всякие нехорошие последствия.

    Если обсуждать «ой как автор сделал неверно» и не сказать ему это в лицо — то автор никогда и не узнает о том что вы недовольны.
    Как правило вначале пишут автору, а потом когда он говорит «это нормально» — стоит выносить обсуждение на люди.

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

    Бывает: люди ошибаются, не знают все возможности применяемого инструмента, иные причины.

    Сразу «Это не должно быть в каталоге» — несколько по хамски. Все же это опенсорс — не нравится — помоги автору и улучши вместе. Вклад приветствуется. Ну или иная помощь — тоже нужно.

    Хотя может вы просто делаете конкурирующий продукт и решили зацепить конкурента таким образом — хз какие у вас мотивы. Но за спиной действуете — это плохо. Хотя вы всей предыстории и не рассказали.

    «Это не должно быть в каталоге». Но почему? Потому что без вп префиксов (а может политика и ukr или _ru задело в имени?) и индексов? Может быть там в коде 4-ре пробела встречаются — а надо табуляцию? Смертельный грех какой ))
    А кто-то за wpcs топит, а кто-то за psr повыше. На всех не угодить.

    С наступающим — улучшайте и вкладывайте в открытые проекты.

    Если обсуждать «ой как автор сделал неверно» и не сказать ему это в лицо — то автор никогда и не узнает о том что вы недовольны.

    Мой вопрос касался требований к приёму в репо, и мало волнует криворукость авторов. (но автор этой поделки получил фидбек с указанием ошибок. И даже не публично)

    Сразу «Это не должно быть в каталоге» — несколько по хамски.

    1. Сразу было сказано «мне кажется».
    2. Позже я аргументировал почему так.

    Все же это опенсорс

    Вот только не надо прикрываться опенсорсом — это не красит ни разработчика ни модератора тематического ресурса. Это в конце-концов не профессионально. Опенсоц — не синоним ламесрства и безответственности.

    «Это не должно быть в каталоге». Но почему?

    В след. раз прежде чем писать надо почитать о чём писалось выше. Или что не понятно в моих объяснениях?

    Вот только не надо прикрываться опенсорсом — это не красит ни разработчика ни модератора тематического ресурса.

    Не увидел, что бы модераторы им «прикрывались» в этом топике

    Опенсоц — не синоним ламесрства и безответственности.

    Это синоним «Делаю что хочу и отдаю бесплатно людям. Не нравиться — лес там, ехай на….»

    Не увидел, что бы модераторы им «прикрывались» в этом топике

    Это от узкости кругозора. Это проходит если понимать термин «тематического ресурса» не ограничивать себя только 2мя такими ресурсами.

    Это синоним «Делаю что хочу и отдаю бесплатно людям. Не нравиться — лес там, ехай на….»

    «Делаю что хочу» — это про разгильдяйство и безответственность. А «Не нравиться — лес там, ехай на….»» — просто обычное хамство быдла. Не достойное профессионала.

    «Мы в ответе за тех, кого пруручили» (с)

    Это от узкости кругозора.

    А я думал от умения читать то что написано и не выдавать свои фантазии за правду.

    Это проходит если понимать термин

    Термин «этот топик» вашему пониманию не доступен?

    Не достойное профессионала.

    Извините, у вас же в оф. каталоге наверняка не менее десятка пользующихся популярностью плагинов. Действительно, куда мне, сиволапому рукажопу, до таких вершин вашего мастерства……

    Модератор Yui

    (@fierevere)

    ゆい

    тема отмечена решенной,
    а раз комментарии ушли «не туда» — закрываю.

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Тема «Требования к плагинам при создании таблиц» закрыта для новых ответов.