Magento 2でconfig.phpを管理する方法


15

まず第一に、すでに答えられた質問かもしれませんが、私はその主題について何も見つけませんでした。

これは問題ではなく、config.phpMagento 2でファイルを管理する最良の方法についての質問です。
実際、config.phpバージョン管理されていないため(デフォルトではM2 .gitignoreファイル)、リポジトリにありません。問題は、誰かがこのファイルを持たないプロジェクトをインストールするとき、彼はすでにデータベースを持っているのでbin/magento setup:install ...、ファイルを生成するために実行できないことです。ファイルが存在し、モジュールを追加できる場合にのみ、宣言されていないモジュールを追加する
ことを認識していますが、プロジェクトを展開またはインストールするたびに起動しないようにしたいと思います。 bin/magento setup:upgradeconfig.phpbin/magento module:enable

私の質問:
-削除config.php.gitignore、バージョン管理する必要がありますか?
-リポジトリに最初に追加して、.gitignore後で追加する必要がありますか?
-このファイルを管理する最良の方法は何ですか?


1
2.2以降、VCSに追加することをお勧めします
-weynhamz

こんにちは@TechliveZheng情報をありがとう!そのためのソース/説明はありますか?
マテオジェオフレイ18年

回答:


15

まず、非常に良い質問です。
しかし...私はこれに同意しません:

問題は、誰かがこのファイルを持っていないプロジェクトをインストールするとき、彼はすでにデータベースを持っているので実行できないことbin/magento setup:installです...

プロジェクトをインストールするときに、すでにデータベースconfig.phpがある場合は、データベースを取得したのと同じ場所からもファイルを取得する必要があると思います。
この方法では、実行する必要はなくsetup:install、必要なものがすべて揃っています。

次のシナリオのため、このファイルのバージョン管理はお勧めしません。

  • dev envに新しいモジュールを追加します。
  • setup:upgradeモジュールが表示されないように実行しますconfig.php
  • コードをコミットして、他の環境にデプロイします。
  • 他のenvインスタンスは、新しいモジュールが既にインストールされているとみなし、エラーが発生します。

だから私は最善の解決策(IMO)はそれをただバージョンアップせず、あなたのケースに応じてこれを行うことだと思います:

  • プロジェクトとデータベースをどこか別の場所に複製しconfig.phpます。ファイルも(のような他のものと共にpub/media)複製する必要があります。そうすれば、データが古くなることはありません。
  • リポジトリ内のファイルのみのクローンを作成し、クリーンな状態で開始し、コピーせずにconfig.php、それを作成するインストーラーを実行します。

私はこの解決策を考えていませんでした、それは最も実用的ではないように見えますが、あなたは実際にそれが最も論理的であると思われるものです。この方法でテストします。それが気にならなければ、私はあなたの答えを受け入れるために一日の終わりを待つでしょう多分他のアドバイスが与えられるかもしれません。ともあれ、ありがとう !
マテオジェフロ16

リポジトリからconfig.phpを削除して、.gitignoreに追加しました。別の環境が存在しない場合、新しいconfig.phpファイルを生成できませんでした(開発者モード)。
-dchayka

「失敗」とはどういう意味ですか?別の環境にインストールしようとしましたか?
マリウス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.