значение от 1 до 6, ((пакетизация) 1- бан, 2- минимальный пакет и тд (так до 6))
Enum очень специфичный формат хранения, с кучей недостатков и подводных камней.
значения перечисления никогда не являются < или > друг с другом, поскольку эти сравнения не имеют смысла для объектов.(с) дока.
3. Невозможно добавить дополнительную информациюВерно, там где не предполагается жесткое ограничение по количеству значений, енум лучше не использовать. Про буквы и цифры сравнение странное, поле int мы можем набить "бесконечным" количеством значений, на свое усмотрение, в отличие от енум, где собственно это ограничение и является "фишкой" формата.
Это не проблема Enum, это мы неправильно выбрали тип данных.
6. Нельзя использовать список ENUM в других таблицахНу, как бы смысл поля заменить связи на внутреннее представление, по этому да, связи по этому полю по сути не нужны. И это как бы противоречит
Сложно назвать это очень существенным недостатком.
4. Получение списка уникальных значений ENUM - больтак как именно для этого и храним уже готовые варианты, а не для того чтобы еще делать враперы для данных на стороне ЯП.
Это только кажется правильным, но подставлять значения прямо из БД не очень хороший вариант, мы и для boolean можем выводить true/false, но это просто ленивый подход.
так как любое изменение потребует вмешательства в код, в то время как хранение в бд связанной таблицы легко администрируется.
Ну и размазывание хранения по нескольким местам не лучшая идея.
В принципе, проблемы +- те же. Кроме того что, по сути, они легко заменяются ассоциативными массивами, они еще накладывают ряд ограничений, например результаты нельзя сравнивать скалярно.
Про буквы и цифры сравнение странное, поле int мы можем набить "бесконечным" количеством значений, на свое усмотрение, в отличие от енум, где собственно это ограничение и является "фишкой" формата.
так как именно для этого и храним уже готовые варианты, а не для того чтобы еще делать враперы для данных на стороне ЯП.
А сравнивать на больше/меньше это както очень странно, зачем? Зачем сравнивать true и false на больше/меньше?Ну, как минимум, сортировка? То есть по полю будет сортировка, но совершенно неочевидным способом, по порядку значений в наборе... Что кстати еще менее очевидно чем сортировка по тру/фалс (которая внутри тиниинт). Это если для мускуля, для пхп это просто еще одно ограничение на уровне кода, которое "просто есть".
Поэтом когда автор статьи писал "если в дополнение к названию континента требуется сохранить его площадь", то это тоже самое как в tinyint захотеть "напихать" букв.Это к тому что связная таблица удобна в плане расширения, в то время как енум статичен по сути. И да, статья больше предупреждает о том что с енум есть специфика, которую нужно учитывать, так как многие пытаются из енум поиметь замену связям.
Короче, ничуть не умаляя нужности енум как формата, требуется 10 раз подумать прежде чем его использовать