2016-10-19 6 views
0

DKANにFields PermissionsのDrupalモジュールをインストールすると、DKANでカタログのカタログを表示しようとするとエラーが表示されます。個別のハイパーリンクに移動して個々のデータセットを表示することは可能です。フィールド許可モジュールをインストールした後のDkan Drupalエラー

エラー: SQLSTATE [HY000]:一般的なエラー:3065式#1 ORDERのBY句がSELECTリストにない、参照列がSELECTリストにされていない 'dkan_opendatatest.t.changed':これはDISTINCTと互換性がありません

どのようにこの問題を解決するためのアイデアですか?

答えて

0

これは、検索ページを駆動するビューです。ドロップダウンではフィールドが選択リストになると予想されますが、フィールドの変更により、そのビューはMySQLでサポートされていないSQLクエリを生成します。

「/ admin/structure/views/view/dkan_datasets/edit/panel_pane_1」のビューを編集し、「並べ替え基準」で「インデックスノード:変更日」を変更することで、これを修正する可能性があります。正確な「ソート基準」の設定があなたの変更にどのようなものかはっきりとはわかりませんが、「ソート基準」を変更することで、そこからそれを把握できます。 「変更された」フィールドを削除して再追加してください。

0

admin/contentとadmin/peopleページにアクセスしてもDrupalで同様のエラーが発生しました。 人物[user_admin_people]の例外:SQLSTATE [HY000]:一般エラー:3065 ORDER BY句の式#1がSELECTにありませんリスト、参照リスト 'mycmsschema.users_field_data.created'はSELECTリストにありません。これはDISTINCTと互換性がありません

出力されたクエリはMysql Workbenchではうまく機能しましたが、Drupal8ではこれらのページにアクセスしても動作しませんでした。

Mysql 5.7では、Drupal8のクエリが好きではないようです(そしておそらく7つのクエリもありますが、チェックはありません)。 Mysql 5.6にダウングレードする必要があります(デフォルトでは、Mysql 5.7のデフォルトであるONLY_FULL_GROUP_BYなどの極端な厳密なsql_mode設定にはなりません)。コア/ lib/Drupal/Core/Database/Driver/mysql/Connection.php :

/* 
     'sql_mode' => "SET sql_mode = 'ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,ONLY_FULL_GROUP_BY'", 
     */ 

へ:私のために働いた

'sql_mode' => "SET sql_mode = 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER'", 

。 注:ONLY_FULL_GROUP_BYのみを削除すると修正されているはずですが、残りの部分も削除する必要があるようです。

関連する問題