gitを使用して複数の開発者間でWPデータベースを同期する


33

WordPress開発プロジェクトに適用されるgitワークフローの改善に取り組んでいます。多くの場合、コンテンツ管理システムを開発するときhttp://dev.finalsitename.com、プロダクションバージョンで使用されるカスタム投稿タイプと分類法を含む開発サーバー(など)を作成します。これにより、クライアントはコンテンツをサイトに追加し始めることができます。

彼らがこのタスクに取り組んでいる間、私は通常、ローカルホスト環境で使用されるルックアンドフィールとカスタムプログラミング/プラグインを構築しています。それらの更新を上書きしないようにするために、通常はデータベースのコピーを取得して置き換えます。ただし、WP管理エリアに移動して、設定または他の小さなものを変更する必要がある場合があります...

複数の開発者がWordPressプロジェクトで作業している場合、それぞれのバージョンのサイトの(タイムスタンプされた)データベースダンプを行い、ローカルブランチをコミットしてリモートリポジトリにプッシュする前にルートディレクトリに含めます。このアプローチの問題は、データベースが同期していない場合が多く、どちらを使用するかを簡単に判断できないことです。

複数の開発者(およびクライアント/コンテンツプロデューサー)が同じプロジェクトで作業できるようにしながら、データベースの同期を維持するために他の開発者は何をしていますか?

回答:


12

最も簡単なものから3つのオプションがあります->

  1. 多数のバックアップを使用して接続するリモートデータベースを1つだけ使用します。そうすれば、dbではなくファイルについて心配するだけです。

  2. WordPressに組み込まれているインポートおよびエクスポート機能を使用して、バージョン管理に追加し、wpルート(新しいフォルダーなど)に入れます。確かにそれは余分な数分かかりますが、その完全にシンプルであり、あなたはそれを自動化することができますが、さらに重要なことは、バージョン管理の一部になるでしょう。

  3. カスタム更新スクリプトを使用して、実際のデータベース同期をバージョン管理します。gitはスクリプトであり、実際に何が起こっているのか実際にはわからないので、gitでそれをどのように管理できるかは正直わかりません。 liquibase.org/)。


1

データベースを完全に同期させる必要がある場合、つまり スキーマとデータの場合、バックアップに基づいてカスタムバージョン管理システムを開発できます。

または、本番環境からのデータを保持しながらスキーマを進化させたい場合は、カスタムソリューション(すべてのスキーマ変更を伴うバージョン管理されたファイル)、またはの概念に基づく標準ソリューションを使用できmigrationます。このstackoverflowスレッドで多くの情報を見つけることができます:db schema changesを追跡するメカニズム


また、ここでは簡単なものではstackoverflow.com/questions/825787/...
GRM

1

これが信じられないほど明白である場合は申し訳ありませんが、同じ構造のデータベースの同じコピーが必要な場合、オフィス/中央のSQLサーバーを使用してそれを使用することは意味がありませんか?実験が必要な場合はローカルでクローンを作成しますが、正式な事実上の標準として保持し、そのサーバーとそのサーバーのみのバックアップを作成します。

それ以外の場合、グループプロジェクトで作業しているときは、さまざまなコンテンツの独自のセットアップがあります。コードはテーブル構造のアップグレードと移行を処理し、LAN上でマシン上で実行されているコードのローカルインストールに相互にアクセスできるため、コンテンツを共有する必要はありません。

コンテンツを入力する場合は、テストサーバーで実行します。テストサーバーは、ライブサーバーにエクスポートおよびインポートするか、ライブインスタンスが存在しない場合は運用サーバーに直接移行できます。

いずれかの時点でライブテストとWIPデータの分離が必要な場合は、リポジトリでライブ、テスト、および開発ブランチを使用するだけです

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