DEVELOPMENTバージョンのアプリケーションをローカルマシンにインストールし、STAGEサーバーにテスト用にデプロイする(オプション)とPRODUCTIONサーバーにデプロイすると便利です。プロジェクト内にコードとデータの細かい裁量がある場合(たとえば、すべてのコードと設定をプロジェクトファイルとデータをデータベースに格納する場合など)、比較的簡単に実行できます。MODXを使用する場合の展開のベストプラクティスは何ですか?
MODXは、テンプレート、スニペットなどをデータベースに格納します。はい、このコードを静的ファイルに移動してから、これらのアイテムの変更を追跡するためにバージョン管理システムを使用することができます。しかし、これらのデータベースもデータベース内に表現の行を持っています。つまり、いくつかの項目を追加または削除すると、以前と同じようにデータベースを更新する必要があります。
パッケージマネージャーによるインストールではなく、拡張機能のファイルをコピーした場合(拡張機能ではDB内に独自のテーブルがあることが多いため)、問題が発生するようです。
もう1つの問題は、DEVとPRODのアプリケーションがファイル(configs)とデータベース(たとえば、ユーザーアカウントなど)に異なる設定を格納していることです。
DEV-STAGE-PRODの反復的な開発サイクルを整理する明確な方法はまだありません。だから、私の質問は次のとおりです。
- 配備時にコピーするファイルとデータベーステーブルをコピーする必要がありますか?
- モード(置き換え、無視)とは何ですか?
- これを行う最も簡単で最速の方法は何ですか?
私の最大の懸念は、データベースを扱うことです。
P.S. MODXの "Revolution"バージョンについて話しています。
私は、すべてのプロジェクトではなく一部の変更を展開する方法を意味します。この場合、通常の開発者は、プロダクション側には膨大なDBがあり、ローカルマシン上には小さなテストDBがあります。だから、データベースのどの部分をコピーしなければならないのか、これを行うための最善の方法は何ですか? DEVに新しいリソースを作成し、すでにPRODで占有されているIDを持っていると、リソースIDの競合はどうなりますか? –