web-dev-qa-db-ja.com

WordPressデータベースのURLを変更するための検索と置換クエリを修正しますか?

一時アドレス( http:// IPアドレス )を使用してプロダクションボックス上のサイトを開発しました。

今こそ、本番に入る時が来ました。かつて昔、私はphpMyAdminを使用して検索/置換をしましたが、それでも「最善」な方法になるのではないかと思います。

これらは問題なく動作しますか?このサイトはWordPress 3.0.1にあります。

update wp_options set option_value=replace(option_value,'OLD URL','NEW URL') where option_value like "%OLD URL%";    
update wp_posts SET guid=replace(guid, 'OLD URL','NEW URL');
update wp_posts SET post_excerpt=replace(post_excerpt, 'OLD URL','NEW URL');
update wp_posts SET post_content=replace(post_content, 'OLD URL','NEW URL');    
update wp_postmeta SET meta_value=replace(meta_value, 'OLD URL','NEW URL');

私はここでいくつかの関連記事を読みましたが、実際の質問には関係ありません。

私はこの 検索と置換プラグイン は有望に思えると思いました、しかし私が見つけた唯一のドキュメンテーションはドイツ語でした、私はそれを読むことができないので、私はそれを試すのには慎重すぎる。

そして、この 開発から本番への移行 についての情報はたくさんありますが、:

  1. その大部分は私の頭の上にあります、そして
  2. リストされているクエリはありません。

ティア、

マイク

4
MikeK

はい、これらのクエリはまだ機能します。

これは完全な使い方です: http://web-kreation.com/tutorials/migrating-a-wordpress-site-ftp-phpmyadmin-and-sql-queries/

1
sorich87

これはあなたにいくつかの問題を引き起こします:

update wp_options set option_value=replace(option_value,'OLD URL','NEW URL') where option_value like "%OLD URL%";

その情報はシリアル化されている可能性が最も高く、クエリはシリアル化されたデータを考慮していないため、オプションテーブルに格納されているアクティブなウィジェットデータを破損します。それがwp-hackersスレッドの要旨でした。しかし、そのスレッドの誰もがシリアル化されたデータを処理するための絶対確実なクエリを思い付いていないようでした。

Wp_optionsの 'siteurl'と 'home'のオプションをそれぞれ個別に変更してから、ダッシュボードからウィジェットを変更することをお勧めします。

3
goldenapples

他の人たちがあなたが求めたSQL問い合わせについてあなたに提案をしてくれました、そしてそれらを学ぶことがあなたがプロセスを助けるのを願っています。私は私が私が私が操作する必要があるところの下の1つのレベルを学ぶのを私がいつも助けるのを知っています。

しかし、あなたはそれを行うための 最善の 方法も尋ねました、そしてあなたがもう一度参照する投稿を見てみることをお勧めします( 開発から生産への移行 )しかし今回は プラグインを見てください 私は記事の中で参照しています、データを修正するためのプラグインあるサーバーから別のサーバーに移動した後で。それを処理するプラグインにそれ?

プラグインはfull hookableです)他のプラグインが紹介した他のデータを処理するためにSQLにアクセスする必要がある場合は拡張することができ、したがって修正時に必要なものはすべて処理できます。ホストからホストへ移動すること - それが各ホスト;ドメイン、ルートパス、データベース、dbuser、パスワード、さらにはGoogleマップのようなものすべてのすべての詳細を一覧表示する場所を_ /wp-config.phpに提供すること)あなたがそれを必要なときにAPIキー。

プラグインはまだアルファ版なので、StackExchangeにあり、WordPressプラグインリポジトリにはまだ表示されていません。

0
MikeSchinkel