Невозможно разрешить символ в коде SQL (проблема PhpStorm)

Я использую PhpStorm 2016.1.2 и с комфортом использую PhpStorm в течение нескольких лет. У меня установлен Storm с подключением к базе данных и отображение базы данных MySQL, к которой подключаются мои PHP-страницы. SQL обычно записывается на странице PHP в пользовательских функциях через класс подключения к базе данных.

Пример фрагмента кода:

$checkData = $dataBaseSecure->getSelect(
"SELECT check_login.fail_id, UNIX_TIMESTAMP(check_login.last_action) AS timer
FROM check_login WHERE check_login.ip_addr = ? AND check_login.check_drop = ? ",
 $data, TRUE);  

Не беспокойтесь о фреймворке базы данных, этот стиль и макет SQL в PHP уже несколько лет работает на моей работе в PhpStorm и работает на сервере и на всех тестах.

По состоянию на вчера (17 июня 2016 года)

Я не знаю, что изменилось, но вдруг PhpStorm теперь говорит мне обо всех моих SQL-строках во всех моих проектах:

Unable to resolve symbol '<table name>'

или

Unable to resolve column '<column name>'

А также (из-за этого) PhpStorm больше не выполняет какие-либо функции автозаполнения или организации, когда я работаю над своим кодом SQL.

Решения, которые я пробовал

  • Я уже попытался сделать недействительным и подтвердить мои кэши на основе этого ответа на аналогичный вопрос. Но это не помогло.

  • Я очень тщательно изучил свои настройки, но вкладка базы данных PhpStorm успешно соединяется с базой данных, и насколько мне известно, я не внес никаких изменений, чтобы вызвать это изменение в поведении.

  • Я просмотрел различные (и многие) настройки в настройках PhpStorm, но не видел ничего, что освещало эту проблему, или изменения, которые я изменил, не разрешили.

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

    • У меня есть только одно соединение с базой данных в большинстве проектов, но количество баз данных, похоже, не срабатывает, если эта проблема возникает.
  • Полностью избежать запросов SQL с соответствующими обратными окнами вокруг именованных объектов не решает проблему.

  • Я правильно настроил свой диалект SQL на правильный MySQL.

  • Чтение связанных записей, которые я нашел в Stack Overflow, не предоставило никакой полезной информации.


У меня нет плагинов в PhpStorm, которые относятся к этой проблеме или взаимодействию PHP/MySQL.

Если у вас есть идеи, как это решить, скажите мне. Если у вас есть конкретные настройки, которые вы хотите мне проверить, сообщите мне, и я могу добавить их в вопрос (в PhpStorm так много предпочтений, я не буду публиковать их здесь прямо сейчас, так как я уверен, что большинство не связаны с этой проблемой).

Ключ в том, что эта система отлично работала два дня назад!!!

Ответ 1

Попробуйте повторно синхронизировать свои схемы БД - на всякий случай, если он каким-то образом поврежден или недействителен.

Если это не дало никаких визуальных результатов - попробуйте более радикальную версию:

  • закрыть IDE
  • открыть подпапку .idea для этого проекта (место, где хранятся эти параметры проекта)
  • удалить dataSources.ids файл
  • повторно открыть проект в среде IDE
  • повторно синхронизировать структуру БД/воссоздать соединение БД с нуля.