タグ付けされた質問 「database」

Drupalは、データベースサーバーにアクセスするための、ベンダーに依存しない標準の抽象化レイヤーを提供します。

2
PhpStormにdrupal {table} SQL構文を認識するように教える方法は?
私は、SQLクエリでいっぱいの本当に古いdrupalプロジェクトを扱っています。PhpStormのSQLの理解は非常に便利ですが、私はのようなドルパリズムに問題があり{table_name}ます。IDEは不平を言う<reference> expected, got '{'。 中括弧内の文字列が単なるテーブル名であることを理解するようにPhpStormを設定するにはどうすればよいですか?または、少なくとも中括弧を無視しますか?
13 database 

3
cache_formを小さく保つ方法
mysqlでcache_form.MYDテーブルが14GBであることに気付きました。なぜこんなに大きくなったのですか?それを空にしても安全ですか?どうすればこのような事態を将来回避できますか? ありがとう

2
Drupalデータベースにインデックスを追加しても安全ですか?
私はこれについて検索して読んでいますが、Drupalテーブル(コアとcontribの両方)にインデックスを追加するというトピックについて明確なものを見たことはありません。 私の主な関心事は、コアコードまたはcontribコードを更新し、スキーマが変更されたときにカスタムインデックスで何が起こるかです。この場合はどうなりますか? 編集: 何らかのコンテキストが役立つと思います。主に、サイトのパフォーマンスを調整するためにテーブルにインデックスを追加することに関心があります(クエリがスロークエリログに表示される、ビューが遅いページなど)。これには、他の誰かのモジュールのテーブルにインデックスを追加することが含まれます。例えば モジュールをインストールします foo モジュールfooはテーブルを作成します foo テーブルにインデックスを追加します foo モジュールにfooは、スキーマを変更する更新があります 何が起こるのですか?
12 database 


3
vidの意味
ビューを設計しましたが、プレビューセクションに次のクエリが表示されます。 SELECT node.nid AS nid, node_data_field_crm_history_brokerid.field_crm_history_brokerid_value AS node_data_field_crm_history_brokerid_field_crm_history_brokerid_value, node.language AS node_language, node.type AS node_type, node.vid AS node_vid, node_data_field_crm_history_brokerid.field_crm_history_caseid_value AS node_data_field_crm_history_brokerid_field_crm_history_caseid_value, node_data_field_crm_history_brokerid.field_crm_history_dateadded_value AS node_data_field_crm_history_brokerid_field_crm_history_dateadded_value, node_data_field_crm_history_brokerid.field_crm_history_entrydesc_value AS node_data_field_crm_history_brokerid_field_crm_history_entrydesc_value FROM node node LEFT JOIN content_type_crm_history node_data_field_crm_history_brokerid ON node.vid = node_data_field_crm_history_brokerid.vid WHERE node.type in ('crm_history') 何がないvidここに意味ですか? このクエリを使用してcrm_historyに行を挿入する単純なルールを挿入しようとすると、実際にこれが必要です。 $result = db_query("INSERT INTO {content_type_crm_history} (vid, nid, …
12 views  database 

4
データベース挿入の例を探しています
db_insertマニュアルページによると、この機能は非推奨であり、挿入を実行するにはDrupal 8データベース接続を使用することをお勧めします。 非推奨 Drupal 8.0.xの時点で、Drupal 9.0.0で削除されます。代わりに、コンテナからサービスにデータベース接続を挿入し、それに対してinsert()を呼び出します。たとえば、$ injected_database-> insert($ table、$ options); データベース接続を取得してinsert()メソッドを呼び出すにはどうすればよいですか?
12 database  8 

1
フィールドストレージにMongoDBを使用すると、機能が制限されますか?
SQLデータベースからキャッシュ、セッション、ロットなどを移動するだけでなく、フィールドストレージ用のサイトでMongoDBを使用することを検討しています。 フィールドストレージAPIは、私がデータにアクセスするためのDrupalのAPIを使用していますと仮定すると、このシームレスを作る必要があります。しかし、これは私のサイトを何らかの形で制限しますか。特に、ビューにどのような影響があるのか疑問に思っています。
12 views  database 

3
中程度のトラフィックを持つDrupal 7のmax_allowed_pa​​cketの妥当な値は何ですか?
私のdrupal 7サイトでは、この変数のボールパーク番号を知る必要があります。最近、 "drupal" PDOException:SQLSTATE [08S01]:Communication link failure:1153 "エラーが発生しました。mysqlの初心者であり、共有ホスティングを使用しています。おそらく、管理者に依頼する必要があります。 前もって感謝します。
12 database 

2
Views3とサブクエリ?
複数の結合を行うクエリを生成するビューがあります。これによりデカルト結合が生成され、結合をサブクエリに「変換」する必要があります。 ドキュメント、Googleの検索結果、その他のソースを調べましたが、サブクエリを実行するためにビューを構成する方法についての適切な説明を見つけることができません。hook_views_data()を使用して、リレーションシップを構成しました(現在は結合として実行されています)。hook_views_data()を介してサブクエリを定義することは何らかの形で可能ですか、それとも別のアプローチをとる必要がありますか? アドバイスをいただければ幸いです!
12 views  database 

4
スキーマを作成するデータベースを指定するにはどうすればよいですか?
Drupal 7で複数のデータベースを使用する場合、異なるサーバー上の異なるデータベースにテーブルが作成されるように指定するにはどうすればよいですか? デフォルトでは、モジュールをインストールすると、Drupalはすべてがhook_schema()デフォルトのデータベースにインストールされると想定します。別のデータベースにテーブルを作成するように指定する方法はありますか、または何らかの手動による回避策を使用できますか?
12 7  database 

2
フィールドに関する集計情報を取得する最も持続可能な方法は何ですか?
EntityFieldQueryは、SQLに依存しないため、フィールドデータで集計関数(SUM、AVGなど)を実行するために使用することを意図していません。そうは言っても、そのような操作は時々合法的に実行される必要があります。EntityFieldQueryを使用したSQL関数、特にEntityFieldQueryと、集計関数SUM、ARG、およびMAXの使用方法によると、SQLクエリを使用する必要があり、そのアプローチは私のユースケースに最適です。昨日@chxと話していましたが、フィールド名と列名を見つけるためにいくつかの内部関数を使用することを勧めました。これが持続可能かどうか、そして他の人にリリースするかもしれないコードベースで行うのが適切かどうか疑問に思っています。 それが最善の方法であれば、それが最善の方法です。面倒くさいので絶対に確信するまではやりたくありません。
12 7  entities  database 

2
カスタムモジュールでテーブルを作成する方法
Drupal 7 hook_schema()では、.installファイルでテーブルを作成するために使用していました。Drupal 8ではそれもできると思いますが、スキーマを使用して.ymlファイルを作成する必要があるという印象を受けました。 Drupal 8でテーブルを作成する方法は何ですか?
12 8  database 


2
hook_schemaがデータベーステーブルを作成していません
次の関数は、process_loginというカスタムモジュールの一部として、process_login.installに含まれています。データベーステーブルを手動で作成した場合、モジュールは機能しますが、当然のことながら、インストール時にテーブルが自動的に作成されます。 関数自体は、モジュールのインストール時にスキーマエラーを生成しません。しかし、Drupal 7 MySQLデータベースにデータベーステーブルprocess_login_registerも作成しません。 私が見ることができる他のエラー、またはサイトレポートによって報告された問題はありません。 私はそれを完全に削除し、何度も再インストールしました。私はWebを広範囲に検索し、Drupal開発に関する2冊の本を調べました。この機能に問題はありません(以下に記載)。 注:私も 'id'をシリアルとして定義しようとしましたが、同じ結果が得られます(つまり、テーブルが作成されません)。 アイデアが足りなくなった。この関数が機能しない理由を誰かが知っていますか? function process_login_schema(){ $schema['process_login_register'] = array( 'description' => 'Register a specific computer with the system.', 'fields' => array( 'id' => array( 'description' => 'Primary identifier.', 'type' => 'int', 'unsigned' => TRUE, 'size' => 'normal', 'not null' => TRUE, 'default' => 0, ), …
12 7  database 

1
field_dataテーブルとfield_revisionテーブルの違いは?
多くのカスタム関数があります。私はこれが正しいことを確認したいだけです。 ノードの最新バージョン(ライブバージョン)が必要な場合は、field_data_field_xyzテーブルに移動しますか? 私の理解では、field_revision_field_xyz古いバージョンはすべて保持されていますか?
11 7  database 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.