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

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


2
カスタムデータベースクエリのデバッグ
特定のデータベースオブジェクトにクエリの印刷を依頼する便利な方法はありますか? 私は時々、モジュールにDBTNG db_op()を記述しますが、クエリを正しく行うことができません。 develがクエリログを出力できることは知っていますが、これはすべてのクエリであり、この種の状況では、多くの場合問題になります。 私はやってみたいです $result = db_select('node', 'n')->fields('n')->execute(); dpm($result->queryWithParameters); dpm($result->finalQuery);
8 database 

1
search_indexテーブルとsearch_datasetテーブルの用途は何ですか。それらをクリーンアップできますか?
ローカル開発サイトから本番サーバーにSQLをダンプしようとしています。これら2つのテーブルのsearch_indexとsearch_datasetが大きく、sqlファイルが本当に大きくなっていることがわかりました。 これらの2つのテーブルは、後でいつでも最初からインデックスを再作成できる検索インデックスを格納するためのものだと思います。間違っていれば私を訂正してください。 それで、それらのすべてのレコードを削除しても大丈夫/安全ですか?次に、データベースをエクスポートし、サーバーにインポートします。これにより、ダンプファイルのファイルサイズを小さくすることができます。 ありがとう!

2
MariaDB対MySQL for Drupal 6?
コミュニティサイトの大規模なD6データベース(80%読み取り、20%書き込み、約1300 qps、MyIsamエンジンを使用)をMysqlからMariaDBに変換するのが良いアイデアかどうか疑問に思っていますか? MariaDBは非常に望ましいようです: MariaDBは、MySQLのドロップイン置換機能を提供するデータベースサーバーです。MariaDBは、MySQLのオリジナルの作者の何人かによって構築されており、フリーおよびオープンソースソフトウェア開発者のより広いコミュニティの支援を受けています。MySQLのコア機能に加えて、MariaDBは代替ストレージエンジン、サーバーの最適化、パッチなどの豊富な機能拡張セットを提供します ただし、期待されるパフォーマンスの向上について、仲間のドラッパーの実体験を聞きたいと思います。MariaDBはデフォルトでXtraDB(改良されたInnoDB)ストレージエンジンを使用することを知っています。実際、MysqlデータベースをInnoDBエンジンに移動すると、サイトの速度が大幅に低下したため、想定されるパフォーマンスの向上について少し確信が持てません。 また、MariaDBに変換する際の警告(互換性のないモジュールなど)についても知りたいです。 ありがとう
8 database 


4
MySQLからPostgreSQLに移行する方法
Drupal 6データベースをMySQLからPostgreSQLに移行する方法を知る必要があります。実際の移住についての体験談も聞きたいです。 PS私はこの drupal-mysql2pgsql.pl移行スクリプトを見つけました。このスクリプトは明らかに機能しますが、「両方のデータベースでパスワードなしのアカウント」を作成する方法がわからないため、それを利用できませんでした。スクリプトのデータベース接続行に資格情報を追加するこのガイド(タイ語)もあります。しかし、私はPostgresqlに接続できなかったため、どちらも役に立ちませんでした。私はPostgresqlについてほとんど知りませんし、愚かな間違いをしたかもしれません。これについての説明/チュートリアルを通してどんなものでもありがたいです。
8 6  migration  database 

2
Drupal 7のdb_affected_rows(db_query)
私は@Berdirがdb_affected_rowsDrupal 7 から削除するのがとても良かったことに気づきました。ここで、実行したクエリがデータベース内の何かを変更したかどうかを検出するためのベストプラクティスは何なのかと思っています。 典型的なユースケースは次のとおりです。 db_query(...); if (!db_affected_rows()) { db_query(...); } db_queryから返されたクエリオブジェクトを確認しましたが、あまり役に立ちませんでした。 更新: 情報が必要な状況については、少し不明確でした。 私の現在の使用例は、非常に単純なものです。nid列といくつかのデータ列を持つノードタイプのテーブルがあります。フォームの送信時にフォームがあり、データベースに行を挿入または更新します。 db_update/ の問題db_insertは、最初にupdateを使用し、updateが0を返した場合に挿入すると、フォームがdbの値で送信されたという条件をキャッチできないことです。最初にdb_insertを使用した場合、すでにdbに行があるとエラーが発生します。 この特定の条件では、ノードの作成時に空白値を挿入してから更新のみを使用できると思いますが、外部データベースにキー入力された情報を保存する必要がある場合は、それができない場合があります。また、コードが機能するためにデータベースの値に依存する必要がないようにしたいと思います。 そのような場合の私の通常の戦略は、 db_query("INSERT IGNORE INTO ...") if (!db_affected_rows()) { db_query("UPDATE ..."); } これを行うことは、データベースがどのような状態であっても、シンプルでエラーのない状態です。現在私が見ることができる最良のオプションは、SQLで処理してこれを行うことです。 db_query("INSERT ... ON DUPLICATE KEY UPDATE"); しかし、私はdb APIがこれを処理できることを望んでいました。
8 7  database 


2
db_mergeなしでdb_insertに「INSERT IGNORE」を設定する方法
誰かがdb_insertで 'INSERT IGNORE'を設定する方法を知っていますか? 多くの行を挿入するため、db_mergeを使用できません。 $query = db_insert('table')->fields(array('foo', 'bar')); foreach ($rows as $row) { $query->values(array( 'foo' => $row->foo, 'bar' => $row->bar, )); } $query->execute();
8 database 

2
ロードされたページで実行されているすべてのSQLクエリがどのモジュールに表示されますか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? Drupal Answersのトピックとなるように質問を更新してください。 3年前休業。 私のサイトは動作が遅く、そのモジュールを疑っていますが、どちらのモジュールかはわかりません。ロードされたページで実行されているすべてのSQLクエリを表示できるモジュールはありますか?おそらく、他の人がこのデータを監視するために使用するコマンドラインツールがないのですか?

2
致命的なエラー:非オブジェクトのメンバー関数fields()の呼び出し
エラーをスローする次のコードがあります。 /** * Custom content function * * Get system status from the helpdesk database * * @return * An key => value pairing of systems and their status */ function system_status_sjhc_status_check() { //connection info for the helpdesk database $helpdeskDB = array( 'database' => 'mydb', 'username' => 'myuser', 'password' => …
8 database 

2
どのテーブルにコンテンツタイプフィールドが格納されていますか?
drupal 8にコンテンツタイプがあり、どのテーブルにコンテンツタイプフィールドとdrupal 8のタイプが格納されていますか?Unlike in drupal 6(コンテンツタイプ専用のテーブルがあります)content_type_contenttypenameテーブルとフィールドを作成しないように。これらのフィールドとデータ型はdrupal 8のどこに保存されますか?
7 nodes  8  entities  database 

5
非常に大きなDrupalデータベースのインポートを機能させるにはどうすればよいですか?
VagrantとOracleVMを使用してDrupal 7を実行しています。サイトを稼働させて、データベースをインポートしようとしています。これまでのところdrush cc、drushキャッシュを実行してクリアしました。 drush sql-cli < mydb.sql drushコマンドには非常に長い時間がかかり、それが何かを実行しているかどうかはわかりません。データベースファイルはギガバイト未満です。 これを機能させるために私は何ができますか、またはより良い方法はありますか?

4
Drupal 7の特定のフィールドでDISTINCTをdb_selectする方法は?
すべてのフィールドを調べたときに明確な値のみが返されるように、db_selectステートメントで-> distinct()を指定できることを理解しています。しかし、私が望んでいるのは、1つのフィールドだけを見て、明確な値を返すことです。これが私のコードです: $event_table = db_select('my_table', 'e') ->distinct() ->orderBy('e.time', 'ASC');//ORDER BY $event_table->join('node', 'n', 'e.nid = n.nid'); //JOIN node with events $event_table->groupBy('e.time');//GROUP BY time $event_table->fields('e')//SELECT the fields from events ->fields('n',array('type','status','title'))//SELECT the fields from node ->orderBy('e.time', 'ASC');//ORDER BY $result_event_table = $event_table->execute(); $result_event_table = $result_event_table->fetchAllAssoc('time'); 個別の列をe.nidにしたいとします。-> distinct( 'e.nid')は機能すると思いますが、すべてのフィールドに基づいて個別の値を返します(つまり、distinct(columns1、column2、column3など)。
7 database 


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