2

私は通常、WordPress コードのバージョン管理システムとして git を使用しています。しかし、git には何かが欠けています。プロジェクトのファイルは簡単に同期できますが、データベースの同期は常に非常に面倒です。

ライブサーバーと開発サーバーの間でデータベースを同期する「正しい」方法はありますか?

データベース ダンプをバージョン管理に含めて、毎回更新することもできますが、それは直感的ではないようです。特に場合によっては、WordPress がライブサーバーに関する情報をデータベースに保存する傾向がある場合.

PS データベース構造については話していません。そのための ORM 手法があるためですが、ページの実際のコンテンツです。

4

3 に答える 3

3

私のスクリプトを試すことができます: https://github.com/jplew/SyncDB

SyncDB は、Wordpress サイトのローカル バージョンとリモート バージョンの同期から退屈な作業を取り除くことを目的とした bash デプロイ スクリプトです。これにより、ローカル環境 (MAMP など) で作業する開発者は、1 つの端末コマンドで、運用サーバーとの間で変更を迅速に "プッシュ" または "プル" できます。

私はコンテンツを live と dev の間で常に移行しているので、プロセスを 1 つのシェル コマンドに減らしました。

./syncdb
于 2013-09-03T11:02:31.690 に答える
2

MySQL では、マスター/スレーブ レプリケーションまたはマスター/マスター レプリケーションを使用できます。

マスター/スレーブ レプリケーション

  • 本番サーバーはマスター サーバーになり、開発サーバーはスレーブ サーバーになります。マスター サーバーは新しいデータをスレーブ サーバーに渡します。ただし、スレーブサーバーで変更を加えると、本番サーバーには更新されません。

マスター間のレプリケーション

  • 両方のサーバーをマスターとしてセットアップします。本番サーバーが変更されると、開発サーバーも変更され、その逆も同様です。

参考文献

于 2013-09-01T12:39:33.377 に答える
0

WordPress は本番対応のシステムであるため、ほとんどのデータは環境固有に保存されます。幸いなことに、データベースの移行が必要になることはめったにありません (つまり、サイトの立ち上げ時のみ)。

次の手順でこれを行うことができます。

  • ソース環境データベースをエクスポートする
  • データベースを宛先環境にインポートする
  • wp_postsテーブルをエクスポートする
  • 環境固有の URL をすべて置き換えます (つまり、 dev.whatever.comwhatever.comに置き換えます) 。
  • wp_postsテーブルを再インポートする

ほとんどのランタイム構成が含まれているため、テーブルwp_config.phpに問題が生じることはめったにありません。wp_optionsただし、必要に応じてエクスポートできます。

注:これは、Configuring WordPress for Multiple Environmentsに関する記事から引用したものです。

このプロセスを支援するプラグインもあります。

于 2013-09-01T12:41:12.773 に答える