Хранить локализацию в комментариях к столбцам mysql: Можно или нет?

Для начала, откуда у меня возник такой вопрос.

Я немножко делаю сайты, на php+mysql (не ново, я знаю). Делаю их на собственном куске фреймворка (по другому не скажешь), для управления контентом в общем случае используется самописная админка, очень простая (и смутно напоминающая phpmyadmin):

  • меню берется по сущетсвующим в базе таблицам;
  • при переходе на пункт меню показывается общий список записей и форма добавления/изменения записи;
  • типы элементов формы берутся в зависимости от типа поля и части имени, например для столбцов типа TEXT создается textarea, для столбцов содержащих time_ создается datepicker и т.д.;
  • заголовки столбцов и подписи элементов формы берутся из названий самих столбцов в таблице (благо они информативны)

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

Но речь не об этом, речь о том, что для перевода названий столбцов мне захотелось использовать комментарии к столбцам mysql.

Итак, заблуждение первое:

Комментарии к столбцам таблицы хранятся в недрах самой таблицы

Да, звучит глупо, но так я действительно думал. Благо чтение мануала роззуло мені очі. Но чтение было потом, а тем временем я из одного заблуждения перетек в другое. Заблуждение второе:

Комментарии к столбцам не хранятся в той же таблице, они хранятся в каком-то другом магическом месте, и достать их можно запросом:

SHOW FIELDS FROM `table`

Это тоже не принесло желаемого результата, но я был уже на правильном пути.

Естественно периодически я рыскал по форумам и в поиске, но видимо я задавал не те вопросы, т.к. искомую информацию и соратников по идее нашел не скоро, но конечно же на sql.ru: http://www.sql.ru -> Манипуляции с комментариями столбцов и SQL и комментарии.

Оттуда я как раз и попал на мануал по SHOW COLUMNS (и его алиасу SHOW FIELDS).

В чем-то из первых двух рассуждений я был прав, а именно:

комментарии хранятся в другом магическом месте, а конкретно в таблице `COLUMNS` базы данных `information_schema`

комментарии можно извлечь запросом SHOW FULL COLUMNS FROM `table`, где ключ FULL указывает как раз на то, что информацию нужно выводить как можно полнее.

Вывод прост, хранить информацию о локализации там можно.

С одной стороны это несколько связывает руки, а с другой стороны — почему бы и нет. Правда не смотря на это в данный момент я храню локализацию в .php файле внутри хеш-таблицы, но это уже другой вопрос.

Полезно(1)Бесполезно(0)

Добавить комментарий