web-dev-qa-db-ja.com

ローカルサーバーと開発サーバー間のデータ移行

私は中規模のWordPressサイトで働いています。これまでのところ、私は自分のローカルマシン上でそのサイトをホストし、それを私たちのローカルネットワークを介して内部のコンサルタントに見せています。物事はうまくいっている、そして今クライアントにそれを披露する時が来た。私はずっとgitを使ってきたので、開発サーバーにプッシュするのは簡単でした。ローカルDBを複製して手動でdevサーバーにプッシュしましたが、いくつかのURLエントリを手動で変更しなければならなかったことを除けば、かなり簡単でした。

今私の質問は:WordPressの2つのインスタンスを同期させ続けるための最良の方法は何ですか?私はまだローカルでやるべきことがまだたくさんあるので、DBは再び押し上げられる必要があるでしょう。他の人々はこれをどのように自動化して管理していますか?

ローカルマシンからプッシュするときにMySQLデータをプルダウンするためのgitフックを作成し、もう一方の端にdevサーバーがプルされるときにデータをインポートするためのフックを持つことを考えたのです。ただし、これを行う場合は、wp_optionsテーブルへの変更を心配する必要があります。

このようなことを簡単にするための戦略はありますか?

ありがとうございます。

4
Gavin Anderegg

あなたのwp-config.phpが既に整っていて順番になっていると仮定します。

  • ステップ1.開発データベースをMysqldump
  • ステップ2. development.domain.comのすべてのインスタンスをproduction.domain.comに置き換えます^^
  • ステップ3. MySQLにログインし、SOURCEコマンドを実行してデータをインポートします。 source /path/to/file

^^古いドメインのすべてのインスタンスを新しいものに置き換える方法:(1)以下のスクリプトをコピーしてください。 (2)chmod +xそれ。 (3)実行してください。

使用法:./script.sh development-dump.sql > production-dump.sql

#!/bin/sed -f
s/'\([^\\']*\)development.domain.com\([^\\']*\)'/'\1production.domain.com\2'/g
3
editor

これは何度か議論されてきたので、これらのスレッドを調べて、まだ見ているギャップについて尋ねることをお勧めします。

WordPressの開発にはどのようなプロセスを使用しますか?

How to:WordPressのインストールを開発から本番に簡単に移行するには?

データベースを最終的に同期させることは、最も苦労する問題です。私は本当に心配しません。新しいコンテンツタイプがある場合は、いくつかの投稿/ CPTをインポートしますが、それについては手動で行います。

4
curtismchale