開発コピーでサイトを更新し、その後、ライブサイトの進化するデータベースを上書きせずに更新を元に戻すにはどうすればよいですか?


20

私はタイトルをできるだけ説明的にしようとしましたが、この質問はさまざまな形で以前に尋ねられたことを知っていますが、それに対する良い答えを見つけることができず、誰もこの問題を解決していないことを想像しています。

WPサイトが公開されると簡単です。静的サイトではない場合、新しい投稿、新しいwoocommerce注文、新しいユーザーアカウントなどを追加してデータベースを更新し続けます。

サイトに大きな変更と更新を行う場合、これを行う最も簡単で簡単な方法は、ローカルインストールまたは別の開発ドメインのいずれかにコピーを作成し、そこですべての変更を行うことです。すべての変更が完了したら、ライブサイトにコピーして戻します。

テーマやcssなどの変更がファイルのみの場合、それはいくぶん簡単です。ただし、新しいプラグインの追加や、これらのプラグインに接続/関連するコンテンツの追加など、変更にデータベースの変更が含まれる場合、ライブに追加された新しい変更を上書きするため、サイトをコピーして戻すことはできなくなりましたサイトのデータベース。すべての新しい投稿、新しい注文、新しい画像のアップロードはすべて消去されます。

今、私はさまざまなケースシナリオにさまざまなソリューションがあることを知っていますが、すべてのケースに対処する方法はありませんか?

たとえば、ライブサイトに加えられた変更が新しい投稿のみであった場合、投稿をdevサイトにエクスポートおよびインポートしてから、サイト全体を移動できます。他のいくつかのアイテムと同じですが、すべての種類のアイテムではありません。これに関する他の問題は、wordpressのエクスポートおよびインポート機能がひどいことです。これは非常に初歩的なものであり、特定のアイテムのみを選択してエクスポートするオプションはほとんどありません。私はおそらくすべての「高度なインポート/エクスポート」プラグインを試してみましたが、この問題を解決するものはまだありません。

したがって、別のスレッドで、誰かがこのプラグインを指摘し、基本的にライブサイトにテーマをインストールして作業し、通常のユーザーには既存のテーマが表示されますが、それでもすべての種類の変更が解決されるわけではありません。コンテンツを変更したい場合、たとえばフッターまたはナビゲーションメニューを使用する場合、既存の表示可能なテーマ/サイトに反映され、新しいテストテーマでは問題なく表示されますが、実際のテーマでは表示されない場合があります。

同じサイト/データベースでサイトの「ブランチ」を開発してから切り替える方法はありませんか?または開発サイトで開発する方法はありませんが、実際に非破壊的な方法でデータベースをマージしますか?影響を受けたコンポーネントとものがわかっている場合、それを行う方法はありませんか?または、そのようなことを試みるにはMySQLマスターである必要があります。

この難問を抱えているのは私だけではありません。この問題の解決策がないとは想像できません。これをどのように行うことができますか?

前もって感謝します。


3
誰もがこの問題を抱えており、簡単な解決策はありません。コードをリビジョン管理し、SQLをステージングサーバーに頻繁にダンプし、移行中にメンテナンスロックアウトを作成します(5〜10分)。
ウィック14年

私は同意しません。CrowdFavoriteのRAMPプラグインは、コンテンツをステージングおよびデプロイする必要があるユーザー向けのシンプルなソリューションです。それを「単純なソリューション」と呼ぶのはストレッチかもしれませんが、それは良いことであり、開発者はそれをセットアップできるはずです(SSHとリモートMySQLアクセスなどが必要です)
jb510 14年

誰かがsitepushを試しましたか?Rampがより良いソリューションであれば250ドルを払ってもかまいませんが、完全な展開とテストなしでこれらのシステムがどのように機能するかを外部から見るのは難しいと思います。
ジェームズ14年

sitepushを使用していません。ただし、完全なDBをプッシュするように聞こえます(Migrate WP DB Proなど)。静的なサイトを展開するのに適していますが、ライブの動的なサイトでは失敗します(新しい投稿/コメントが発生するなど)。RAMPは実際にDBとマージの違いを管理し、ライブDBを置き換えるものではありません。
jb510 14

オープンソースプロジェクトであるDBV PHPを使用して、DBをバージョン管理することができます。管理を容易にするUIも備えています。もう1つのオプションは、たとえばLaravelに切り替えることです。Laravelには、CLIアプリに移行ツールが組み込まれています。
カイザー

回答:


2

あなたがやりたいことをする簡単な方法は本当にありませんが、私はあなたのサイトのスナップショットを作成し、yoruの変更を実装し、ブレーキが回復したら再試行してください。それは1時間ダウンするかもしれませんが、私が作業していたサイトをなんとかしてレンガ造りにしたとき、私は最近これをしました。これは問題を解決する「正しい」方法ではないかもしれませんが、私にとってはうまくいきます。がんばろう。


WPチームがこれを行うための専門的な方法を考えていない可能性はありますか?2018年です!!
asael2
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.