web-dev-qa-db-ja.com

WordPress以外のCMSからWordPressへの移行、大量のデータの移動 - 可能な解決策

私はWordpressに移植しようとしているカスタムCMSを持っています。 (私はあなたが自分自身に尋ねるのを見ることができます:

カスタムCMSにこだわらないのはなぜですか?

まあ、それは時代遅れで、不格好で、そして維持するには面倒になり過ぎています。 WordPressには、私たちが本当に活用したいと思う多くの機能もあります。

だからここに問題があります - 私たちには主なタイプのコンテンツがあります(それらをツアーと呼んでみましょう)。各ツアーには、約30個のメタデータが関連付けられています(Toursテーブルの現在異なる列すべて)。私たちは現在約60万ツアーを持っています。

各ツアーには、インテリアイメージからエクステリア間取り図まで、さまざまな種類のイメージが関連付けられています。各画像には、約10個のメタデータが関連付けられています(これもまた、現在Imagesテーブルのすべての列)。私達は現在私達のシステムにおよそ約700万の画像を持っています

あなたはおそらく私たちの問題を見ることができます - すべてのToursとImagesをデフォルトのwp_postswp_postmetaテーブルに入れると、wp_posts何百万行になるでしょう、そしてはるかwp_postmetaテーブルのそれより。 mySQLが行数までどれだけ処理できるかはわかりませんが、特にwp_postmetaテーブルを照会するときには、処理速度が遅くなる可能性があります。

私の質問:

  1. 私たちが議論した1つの可能性は、wp_posts「アクティブな」ツアーを保持し、古いツアーを別のテーブルにアーカイブすることだけです。誰かがこのようなことをするプラグインを知っていますか?

  2. もう1つの可能性は、ツアーをwp_postsテーブルに入れて、画像をそれとは別にしておくことです。私たちが本当に使いたいのは、Wordpressの画像アップローダーです。画像データの保存場所を上書きする方法はありますか。

  3. このような大量のデータをWordpressにどのように実装するのが最もよいかについての他の提案はありますか?

3
user19856

ツアーを投稿(またはカスタム投稿)として挿入し、そのIDがツアー投稿の投稿IDと一致するカスタム参照テーブルを使用することをお勧めします。

Wordpressの組み込みメタボックス機能を使用して、投稿編集ページで各ツアーを編集できます。

あなたは 'save_post'アクションにフックすることによってあなたの参照テーブルを更新することができます。

この参照表をMYISAMとして作成し、検索可能列の索引付けとともに固定列幅を使用することを選択した場合は、検索速度が大幅に向上します。

大量のデータがある場合は、このオプションを使用して、Wordpressの優れた組み込み機能の多くを活用するだけでなく、余分なデータをすばやく検索できます。

1
Douglas.Sesar

http://podsframework.org/ をご覧ください。それはあなたがあなたが必要とするあらゆる種類のオブジェクトのためにスタンドアローンテーブルを作成することさえ可能にするカスタムポストタイプエンハンサーです。

1
Bakaburg