私はライブのサイトを持っていて、人々は積極的にコンテンツを入れています。ただし、開発環境に変更を加える必要があり、そのために数週間かかりました。変更により、新しいモジュールをインストールし、古いモジュールを削除する必要がありました。これにより、データベースの内容と構造が変更されました。
私の質問は、過去2週間に追加された新しいコンテンツの新しいユーザーを上書きせずに、このサイトをライブ環境にアップロードしてデータベースを更新するにはどうすればよいですか?
私はライブのサイトを持っていて、人々は積極的にコンテンツを入れています。ただし、開発環境に変更を加える必要があり、そのために数週間かかりました。変更により、新しいモジュールをインストールし、古いモジュールを削除する必要がありました。これにより、データベースの内容と構造が変更されました。
私の質問は、過去2週間に追加された新しいコンテンツの新しいユーザーを上書きせずに、このサイトをライブ環境にアップロードしてデータベースを更新するにはどうすればよいですか?
回答:
Thomas Zahreddinはその通りです。しかし、何が変わったのか(「2週間ほどかかった」など)によっては、さらに考慮すべきことがいくつかあります。
settings.php
。些細なケースがない場合は、事前に手順をテストすることをお勧めします。そしてもちろん、ライブシステムを開始する前に、ファイルとデータのバックアップを取ってください。(ここでは、バックアップと移行が便利です。)
変更したいものを確認する必要があります。
DrupalのWebサイトを更新するときに、職場で同じ手順を実行します。最大の問題は、Drupalがデータベース内のコンテンツとロジックを別々に保つのに本当にうまく機能しないことです。
Thomas ZagreddinとBetaRideによる回答は、移行を正常に完了するための最良の機会を与えるのに十分です。この件については、聖杯はありません。
開発のヒントをお伝えしたいと思います。これにより、Webサイトを最新の状態に保つための多くの問題を回避できます。コード(モジュール/テーマ)でロジックをできるだけ維持するようにしてください。同様に、ビューをできるだけ作成しないようにしてください。時々あなたはしなければならないでしょうが、それは別のデータベース更新を必要とするでしょう...
ソース管理を使用してください!
すべてをコードに留めることができる場合(もちろん、これを常に実行できるとは限りません)、Git、SubVersion、MercuryなどのSCMを使用してソースを更新し、最悪の場合、シナリオを更新が予定どおりに機能しない場合は、以前のバージョンのソース。
そしてもちろん、前の回答で説明したように、バックアップ、バックアップ、バックアップ、バックアップ...
私は同じ問題を抱えていました。それを解決するために、私がライブで持っていたのは開発者ではなかった唯一のコンテンツが新しいユーザーの詳細であることに注意しました。私は単にadminのPeopleタブに行き、人々の詳細をdevにコピーしました。開発者では、自動化せずに入力しただけです。したがって、次回開発者からアップロードするとき、人々の詳細は当然正しくなり、上書きされません。