Работа с устаревшими столбцами в Data Explorer

Одна из редких, но раздражающих проблем заключается в том, что запросы в Data Explorer могут начать ломаться при удалении или переименовании столбцов в ядре или плагинах. В результате автоматизация может начать сбоить.

С этой целью я открыл PR здесь, который пометит столбцы как устаревшие в обозревателе схемы Data Explorer (хе-хе):

Это небольшая утешительная мера, которая в основном поможет при создании новых запросов, но, вероятно, это всё, что мы можем сделать без добавления парсера SQL как зависимости в ядро.

Однако я заинтересован в расширении этого функционала для:

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

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

Не возражаете ли вы против добавления гема для парсинга SQL, чтобы поддержать эту функцию, @sam? Его можно было бы подключать только при загрузке Data Explorer.

4 лайка

Привет, Ted :hugs:

Честно говоря, я не уверен, всё зависит от обстоятельств. Хорошая новость в том, что Nat и @tgxworld сейчас изучают Data Explorer, так что они смогут дать рекомендации.

3 лайка

В целом идея мне нравится, но я не думаю, что все обязательно помечают столбцы как устаревшие — это не является обязательным условием для полезности этой функции. Не уверен, но можно ли определять, считается ли столбец устаревшим, на основе того, помечен ли он как readonly в базе данных? На мой взгляд, это гораздо более надёжный сигнал того, что столбец будет устаревшим.

2 лайка

Я полагаю, вы имеете в виду использование ignored_columns в модели? Мы определенно можем (и должны) включить это.

Я добавил это в этом коммите: