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

WordPressは、ユーザーが作成したコンテンツを、他の設定可能な情報とともにデータベース(通常はMySQL)に保存します。


5
MySQLデータベースユーザー:どの特権が必要ですか?
WordPressの短いインストール手順("5 Minutes")には次のことが記載されています。 WebサーバーでWordPress用のデータベースを作成し、それにアクセスして変更するためのすべての権限を持つMySQLユーザーを作成します。 新しいブログを専門的に設定しているときに、MySQLデータベースのユーザー特権/アクセス許可の構成がどのように役立つかを考えていました。 データ: SELECT、INSERT、UPDATE、DELETE 定義: CREATE、ALTER、DROP 追加: INDEX もっと: LOCK TABLES REFERENCES CREATE TEMPORARY TABLES CREATE VIEW SHOW VIEW CREATE ROUTINE EXECUTE ALTER ROUTINE 最初の3つのグループについては、ここでデータ、定義、およびエクストラと命名しました。しかし、Moreエントリの下にある他のエントリはどうでしょうか?通常、それらは必要ではないと言いますが、セカンドオピニオンを取得したいと思います。

5
データベースインポートでテキストウィジェットデータが失われるのはなぜですか?
開発用マシンのWordPressでサイトを作成しました。使用しているテーマには、テキストを表示するための多数のウィジェットゾーンがあります(サイドバーとフロントページ)。これらすべてのゾーンで単純なテキストウィジェットを使用して、表示情報を配置しました。 サイトを運用環境に移行したときに、WP-DB-Backupプラグインを使用してデータベースのスナップショットを作成しました。次に、結果の.sqlファイルを編集して、すべてのファイルパスとURL参照を更新して、運用サイトをポイントしました。 データベース、Webサイトを作成し、すべてのファイルを運用サイトにコピーした後、mysqlコマンドプロンプトから.sqlファイルを実行して、新しいデータベースにデータをインポートします。 ただし、本番サイトにアクセスすると、テキストの一部が表示され、一部は表示されません。サイトのウィジェットセクションを見ると、一部のウィジェットゾーンにテキストウィジェットがありません。テキストウィジェットは「非アクティブウィジェット」ゾーンにも表示されず、単に表示されません。 BackWPupプラグインを使用してプロセスを繰り返してみましたが、データベースをダンプするときにSQL構文が異なることに気付きました。 インポート中にテキストウィジェットデータが失われるのはなぜですか?
46 database  mysql  import 

1
プラグイン開発にカスタム投稿タイプまたはカスタムデータベーステーブルを使用する必要がありますか?
私はワードプレスプラグインを書くのはかなり新しいですが、私はすでに深い終わりに飛び込んできましたので、今後の大きなプロジェクトでそれが「正しく」行われるようにしたいと思います。 私はWordPressをかなり大きなWebアプリに大幅に拡張し、WordPressフレームワークに依存するためにデータ構造をできるだけネイティブに保ちたいと思っていますが、独自のカスタムデータベーステーブルを作成する方が良いかどうかわかりませんまたは、カスタム投稿タイプを使用してみてください。 私はまだすべてのデータを知りませんが、多くのテーブル(またはcpt)がリレーショナルにリンクされます。カスタムデータベーステーブルを避ける必要があるという調査から「バイブ」を取得しますが、最適なソリューションを決定する方法がわかりません。 具体的には、次の3つの領域が心配です。 そのルートに行くと、それが物事を「トリッキー」にする場合、cptごとに余分なフィールドに必要なポストメタフィールドの数 レポート用の半複雑なリレーショナルフィルターを使用してクエリをどれだけうまく取得できるか 特に多対多の関係がある場合、関係を最適に管理する方法 「正しい」方法はありますか?ご意見ありがとうございます。

4
開発/ステージングと本番の間のデータベース同期
開発と本番の間のWordPressデータベースの同期に問題があり、他の人がそれをどのように解決しているか疑問に思っています。この質問については承知していますが、実際には、より厄介でより現実的なユースケースをカバーしていません。 WordPressのライブWebサイトがあるとします。すべてをダンプし、開発環境で複製しました。変更を始めました。1週間後、更新プログラムを展開する準備が整いました。それまでの間、本番サイトのデータベースは変更されました(新しい投稿、新しいコメントなど)。ロールアウト中に本番と開発の間で変更を同期する方法と、このプロセスを(少なくとも少なくとも)自動化することは可能ですか?

3
gitを使用して複数の開発者間でWPデータベースを同期する
WordPress開発プロジェクトに適用されるgitワークフローの改善に取り組んでいます。多くの場合、コンテンツ管理システムを開発するときhttp://dev.finalsitename.com、プロダクションバージョンで使用されるカスタム投稿タイプと分類法を含む開発サーバー(など)を作成します。これにより、クライアントはコンテンツをサイトに追加し始めることができます。 彼らがこのタスクに取り組んでいる間、私は通常、ローカルホスト環境で使用されるルックアンドフィールとカスタムプログラミング/プラグインを構築しています。それらの更新を上書きしないようにするために、通常はデータベースのコピーを取得して置き換えます。ただし、WP管理エリアに移動して、設定または他の小さなものを変更する必要がある場合があります... 複数の開発者がWordPressプロジェクトで作業している場合、それぞれのバージョンのサイトの(タイムスタンプされた)データベースダンプを行い、ローカルブランチをコミットしてリモートリポジトリにプッシュする前にルートディレクトリに含めます。このアプローチの問題は、データベースが同期していない場合が多く、どちらを使用するかを簡単に判断できないことです。 複数の開発者(およびクライアント/コンテンツプロデューサー)が同じプロジェクトで作業できるようにしながら、データベースの同期を維持するために他の開発者は何をしていますか?

6
サーバーの移行後、ホームページのみが機能します
最近、WordPressサイトのホスティングをVPS.netに変更しました。すべてのファイルを移動し、データベースをインポートしました。リンクをクリックして、ホームページを除くすべてのページが404を表示していることに気付くまで、すべてが正常に見えました。 サイトのURLはhttp://inksquared.comです

1
WordPressでデータベースの「post_content_filtered」列がクリアされるのはいつですか?
一部のWordPressプラグイン(ごく少数ですが)は、post_content_filteredデータベースの列を使用して、投稿に関連するデータを保存します。 たとえば、保存時のマークダウンでは、投稿のマークダウンバージョンがpost_content_formatted列に個別に保存され、解析されたHTMLがpost_content列に保存されるため、プラグインが非アクティブ化されたときに投稿がMarkdownを吐き出すことはありません(HTMLはに保存されるためpost_content)。 今、私はそれpost_content_filteredが一時的なストレージにほとんど使用されていることに気付きました。 「クイック編集」オプションを使用して、投稿(タイトル、タグ、カテゴリなど)を変更します。 スケジュールされた投稿が(自動的に)公開されます 投稿を一括編集します 投稿のリビジョンを切り替える 投稿は外部エディターから保存されます(つまり、WordPress投稿エディターではありません) 質問: 他のどのような状況でpost_content_filtered列のデータがクリアされますか? これがまったく起こらないようにする方法はありますか?(つまり、データが永続的に保存されていること、post_content列が処理されていることを確認する方法はありますか?)

5
ポストメタと個別のデータベーステーブル
データストレージを必要とするプラグインを開発するとき、ある方法を使用することの長所と短所は何ですか? コーデックスに与えられた説明が詳細に説明されていません。 ただし、まったく新しいテーブルにジャンプする前に、WordPressのPost Meta(別名カスタムフィールド)にプラグインのデータを保存できるかどうかを検討してください。ポストメタが推奨される方法です。可能な場合/実際に使用してください。

3
進行中のサイトで作業する複数の開発者/編集者
バックグラウンド 私は最初のかなり大きなWordPressサイトを構築する最終段階に近づいていますが、今は多少の摩擦に直面しています。ほとんどの場合、サイトはローカルマシンで開発されたので、レビューのために変更をステージングサーバーにプッシュします(詳細については、この質問を参照してください)。私がコンテンツを編集しているだけのとき、私が最終的に解決したソリューションは非常にうまく機能しましたが、今では追加する機能がありながら他の人がコンテンツを編集しています。アイデアは、機能とコンテンツが一致して一緒になった場合、より迅速に物事を成し遂げることができるということでした...しかし、今は確信が持てません。 現在、ステージングサーバーのデータベースには、ローカルマシンのデータベースとは異なるコンテンツがあります。ローカルマシンに最終的なボディコピーは必要ないので、それ自体は問題ありませんが、データベースに影響する開発をさらに行う必要があります(独自のテーブルを必要とするプラグインをさらにインストール/作成します)。 私の質問は: 複数のユーザーがWordPressインストールで作業できるように、データベースのマージを自動化する簡単な方法はありますか?もちろん、ローカルマシンで変更したことがわかっているテーブルをエクスポートしてステージングサーバーにプッシュすることもできますが、ステージングサーバーに停止したいものがある可能性もあります。両方のDBのSQL出力を取得し、それらを比較することができました...しかし、それは退屈でハックのようです。これは他の人が解決した問題なのだろうかと思っています。この種のことを処理するためにコミュニティが受け入れた方法がある場合。 ありがとう!

3
WPDB Insertまたは存在する場合は更新
私はWPDBやSQL全般に精通しているわけではありませんが、プロジェクト用のカスタムテーブルがあり、それにメタデータを割り当てようとしています。私が「したい」ことは、行が存在する場合、更新し、挿入しない場合です。WPDB CodexでInsertとUpdateの両方を読みましたが、どちらも「どちらか」の状況にはなりませんでした。私はアップデートで作業できると思ったので、これまでのコードは次のようになります: $wpdb->update( $wpdb->prepare( $wpdb->prefix.'item_info', array( 'post_id' => $post_id, 'item_stock' => $item_stock ), array('post_id' => $post_id) ) ); WordPressには「IF exists Update、ELSE Insert」のようなものがありますか、これを実現するためにカスタムSQLを実行する必要がありますか、またはテーブルにIDが存在するかどうかを確認するために最初にデータベースを照会する必要がありますか?それかそれを挿入しますか?
21 database  wpdb  sql 

3
テンプレートに重力フォームのデータを表示するにはどうすればよいですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新することがありますので、上のトピックワードプレスの開発スタックExchange用。 5年前に閉鎖されました。 序文 重力フォームをインストールし、フォームを作成し、ユーザーがサイトにデータを送信しています。私がしたいことは、ユーザーが私のページの1つで私のサイトに送信しているデータを表示することです。 Gravity Forms Directoryプラグインがあることは知っています。しかし、これは固定データ表示のみを提供します。 質問 このようなことをすることができる重力形式のものはありますか?(擬似コード): <?php gforms_get_field( $form_id, $entry_id, 'user_name_field' ); ?>

1
開発コピーでサイトを更新し、その後、ライブサイトの進化するデータベースを上書きせずに更新を元に戻すにはどうすればよいですか?
私はタイトルをできるだけ説明的にしようとしましたが、この質問はさまざまな形で以前に尋ねられたことを知っていますが、それに対する良い答えを見つけることができず、誰もこの問題を解決していないことを想像しています。 WPサイトが公開されると簡単です。静的サイトではない場合、新しい投稿、新しいwoocommerce注文、新しいユーザーアカウントなどを追加してデータベースを更新し続けます。 サイトに大きな変更と更新を行う場合、これを行う最も簡単で簡単な方法は、ローカルインストールまたは別の開発ドメインのいずれかにコピーを作成し、そこですべての変更を行うことです。すべての変更が完了したら、ライブサイトにコピーして戻します。 テーマやcssなどの変更がファイルのみの場合、それはいくぶん簡単です。ただし、新しいプラグインの追加や、これらのプラグインに接続/関連するコンテンツの追加など、変更にデータベースの変更が含まれる場合、ライブに追加された新しい変更を上書きするため、サイトをコピーして戻すことはできなくなりましたサイトのデータベース。すべての新しい投稿、新しい注文、新しい画像のアップロードはすべて消去されます。 今、私はさまざまなケースシナリオにさまざまなソリューションがあることを知っていますが、すべてのケースに対処する方法はありませんか? たとえば、ライブサイトに加えられた変更が新しい投稿のみであった場合、投稿をdevサイトにエクスポートおよびインポートしてから、サイト全体を移動できます。他のいくつかのアイテムと同じですが、すべての種類のアイテムではありません。これに関する他の問題は、wordpressのエクスポートおよびインポート機能がひどいことです。これは非常に初歩的なものであり、特定のアイテムのみを選択してエクスポートするオプションはほとんどありません。私はおそらくすべての「高度なインポート/エクスポート」プラグインを試してみましたが、この問題を解決するものはまだありません。 したがって、別のスレッドで、誰かがこのプラグインを指摘して、基本的にライブサイトにテーマをインストールして作業し、通常のユーザーには既存のテーマが表示されますが、それでもすべての種類の変更が解決されるわけではありません。コンテンツを変更したい場合、たとえばフッターまたはナビゲーションメニューを使用する場合、既存の表示可能なテーマ/サイトに反映され、新しいテストテーマでは問題なく表示されますが、実際のテーマでは表示されない場合があります。 同じサイト/データベースでサイトの「ブランチ」を開発してから切り替える方法はありませんか?または開発サイトで開発する方法はありませんが、実際に非破壊的な方法でデータベースをマージしますか?影響を受けたコンポーネントとものがわかっている場合、それを行う方法はありませんか?または、そのようなことを試みるにはMySQLマスターである必要があります。 この難問を抱えているのは私だけではありません。この問題の解決策がないとは想像できません。これをどのように行うことができますか? 前もって感謝します。


1
switch_to_blog()を信頼するにはどうすればよいですか?
switch_to_blog()ブログID を使用して電話をかけると、そのブログが実際に存在するかどうかわかりません。関数は常にを返しますTRUE。 テストケース: switch_to_blog( PHP_INT_MAX ); $post = get_post( 1 ); restore_current_blog(); これにより、ユーザーに公開されるデータベースエラーが発生します。どうすればそれを防ぐことができますか? 実世界のユースケース 私はMultilingual Pressの主任開発者でした。ユーザーが投稿を翻訳すると、次のような画面が表示されます。 これで、次のことが起こります。 彼女は投稿を正常に保存し、投稿の翻訳を続けます。 別のユーザーであるネットワーク管理者は、執筆中にドイツのブログを削除します。 彼女はもう一度保存を押し、データベースエラーを取得します。 私はそのシナリオを避けたいです。対象のブログが存在するかどうかをすばやく確認するにはどうすればよいですか?私はswitch_to_blog()非常に頻繁に複数の異なるクラスで呼び出すため、高速でなければなりません。

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