2016-06-18 43 views
10

私はPhpStorm 2016.1.2を使用しており、数年間PhpStormを快適に使用しています。私はStormにデータベース接続を設定し、PHPページが接続するMySQLデータベースを表示します。 SQLは通常、データベース接続クラスを介してカスタム関数のPHPページ内に記述されます。 SQLコードでシンボルを解決できません(PhpStormの問題)

サンプルコードチャンク:

$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); 

がPhpStormとで、データベースのPHPラッパー、年間のカップルのための私の仕事上の周りされているPHPでのSQLのこのスタイルとレイアウトを心配しないでくださいはサーバーとすべてのテストで完全に正確に動作します。昨日(2016年6月17日)

のよう

私が変わったのか分からないけど、突然PhpStormは今すべての私のプロジェクトで、私のすべてのSQL文字列上で、私に言っている:

Unable to resolve symbol '<table name>'

または

Unable to resolve column '<column name>'

も(これが原因)私は私のSQLコードに取り組むようPhpStormは、もはや任意のオートコンプリートや組織の機能を実行しません。私はすでにthis answer to a similar questionに基づいて、私のキャッシュを無効にして再検証しようとしてい

  • を試してみた

    ソリューション。しかし、それは助けにはなりません。

  • 私は非常に慎重に自分の設定を調べましたが、PhpStormデータベースタブは正常にデータベースに接続しています。私が知っている限り、私は変更を加えずにこの動作の変更を引き起こしました。

  • 私はPhpStormの環境設定のさまざまな(そして多くの)設定を見てきましたが、この問題については何も光りませんでした。または私が調整した変更は解決していません。

  • 私はを見つけましたが、これはテーブル名がではなく、という変数に当てはまるとは限りません。私はまたthis postを見つけました.2014年の日付は類似の問題を示していますが、適切な解決策ではありません。

    • ほとんどのプロジェクトで1つのデータベース接続しかありませんが、この問題が発生した場合、データベースの数は影響を受けていないようです。
  • 名前付きエンティティの適切なバッククォートでSQLクエリを完全にエスケープしても問題は解決されません。

  • 正しく私のSQL dialectを正しいMySQLに設定しました。

  • 私はStack Overflowで見つかった便利な情報を提供していません。


私はこの問題やPHP/MySQLの相互作用に関係するPhpStormにはプラグインを持っていません。

解決方法をご存知の方は教えてください。私が確認したい特定の設定がある場合は、私に知らせてください。それらを質問に追加することができます(PhpStormにはたくさんの設定があります。この問題には関係しません)。

キーは、このシステムが2日前に完全に動作していたことです!

+0

1)idea.log( 'Help | Show Log in ...')の中で興味深いものは何ですか? 2)すべてのバンドルされていないプラグインを無効にしてみてください。3)PhpStormを終了してください。このプロジェクト(このプロジェクト設定)の '.idea'サブフォルダに行き、' dataSources.ids'ファイルを削除してください。 PhpStormでプロジェクトを再オープンし、DBを再同期してください。 – LazyOne

+0

1)私は見ていたが、何も出てこなかった。IDEには何も接続していないのに、 '-1'というエラーはないが、エラーはない。私はここにバグレポートを持っています:https://youtrack.jetbrains.com/issue/WI-32197 idea.log(別のプロジェクト、同じ問題)を含んでいます。 2)それを試しましたが、変更はありませんでした。 3)これはうまくいっているかもしれませんが、データベースの接続の詳細を削除して、それらをゼロから再構築し、 '.ids'ファイルを削除すると、これは修正されているようですが、2つのポイントがあります:a)PhpStormのデータベースタブはb)私は突然すべての*プロジェクトのためにこれを行う必要があると奇妙に思えます。 – Martin

+0

データベースタブのコンスタントバックグラウンド作業インジケータに関する手がかりがある場合(実際に何をしようとしているのか?)それは素晴らしいことでしょう。私はまだこれがどうなっているのか混乱していますが、私のサーバーの人々は何か更新や何かをしました(私は彼らからの返信メールを待っています)@LazyOne – Martin

答えて

7

DBスキーマの再同期化を試してください。何らかの理由で破損しているか無効である場合に備えてください。 - それは視覚的な結果が得られなかった場合は

それのより根本バージョン試してみてください。

  • 近いIDEを
  • このプロジェクトのためのオープン.ideaサブフォルダ(このプロジェクト設定が保存されている場所)
  • 削除dataSources.idsファイル
  • IDEで再オープンプロジェクト
  • 再同期DB構造/最初からDB接続を再作成する。
+0

スキーマの再同期は、 '.ids'を削除してから、*新しい*データソースを構築しました。 – Martin

+0

Tnx。私にとっては、2017.1.4と同様に働いていました。再オープンしたdataSources.idsを削除しましたが、うまくいきませんでした。それから、私はDBへの既存の接続を複製し、古いものを削除しました。 (古い接続を削除すると、SQLコンソールで使用したローカルにキャッシュされたSQLコマンドも失われることに注意してください) – userfuser

関連する問題