Як навчити PhpStorm розпізнавати синтаксис drupal {table} SQL?


14

Я маю справу з декількома дійсно старими проектами drupal, повними SQL запитів. Розуміння PhpStorm SQL дуже зручно, проте у мене є проблеми з друпалізмом {table_name}. IDE скаржиться на це <reference> expected, got '{'.

Як я можу налаштувати PhpStorm, щоб він зрозумів, що рядок всередині фігурних дужок - це лише назва таблиці? Або хоча б змусити ігнорувати фігурні брекети?


1
Ви використовуєте інтеграцію з Drupal? Я ніколи не бачив цього питання з PHPStorm. Чи є у вас спеціальний плагін для SQL, який може викликати проблеми?
googletorp

@googletorp так, я використовую плагін підтримки
Drupal, в

1
@SiliconMind Це не підтримується, я думаю. Ви можете встановити діалект sql, але ви не можете встановити цю конкретну річ, можливо, тому, що інші плагіни можуть запускати ваш код і давати результати в прямому ефірі (як Інструменти бази даних та SQL) ... можливо. Я ніколи цього не використовував, але не впевнений, що це хороша практика.
golddragon007

Відповіді:


10

У налаштуваннях PhpStorm> Інструменти> База даних> Параметри користувача:

  • Поставте прапорець "Увімкнути рядкові літерали з ін'єкцією SQL"
  • Додати \{\w+\}до шаблонів параметрів.

Ви також можете змінити рядок з %\w+дозволеною мовою php для таких заповнювачів %d. Дивіться скріншот, а також допис у блозі JetBrain PhpStorm: Конфігурація ін'єкції мови бази даних .

Скріншот налаштувань PhpStorm


1
Я б змінився, \{\w+\}щоб \{(\w+)\}краще працювати з виконанням запитів PhpStorm (ярлик Ctrl + Enter). Без додаткових дужок, якщо ви спробуєте виконати запит, він запропонує вам ввести параметр, який називається №1 для вашого {table_name}, але з дужками він буде більш корисним запитом для параметра table_name .
morbiD

На додаток до мого попереднього коментаря, ось приклади різниці, які мали б зробити дужки. Для рядка запиту SELECT * FROM {node} WHERE nid = :nidнатискання клавіші Ctrl + Enter відображає такі підказки: з дужками та без дужок .
morbiD

1
Це не вирішує питання, коли стовпці таблиці позначені як невирішені. Потрібно рішення, яке розпізнає таблицю та її стовпці, як у звичайному синтаксисі sql.
Semra


-5

Я не знаю жодного способу змусити PHPStorm розпізнавати синтаксис Drupal SQL.

Але якщо ви просто хочете налагодити запит, створений Drupal, ви можете видалити фігурні дужки із запиту після копіювання його на консоль запиту PHPStorm.


1
Причина недоліків цієї ради полягає в тому, що видалення або знехтування включенням дужок навколо імен столів буде заважати поведінці префіксів таблиці Drupal. Перейдіть за цим посиланням для детальної інформації про функцію: drupal.org/node/2622
Вестон Вестон

@WestonWedding Я не пропонував видаляти фігурні дужки під час виконання запиту в Drupal. Моя пропозиція полягала в тому, щоб зняти дужки після копіювання запиту з Drupal на консоль запиту PHPStorm. Це трохи ручної роботи, але допомагає при налагодженні запитів, створених Drupal.
Eyal

Я бачу! Ну, це ніде не відповідає вашій відповіді, тому деякі люди можуть заплутатися.
Вестонське весілля

Я оновив відповідь трохи більше контексту.
Eyal
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.