Come gestire config.php in Magento 2


15

Prima di tutto è forse una domanda già risposta ma non ho trovato nulla sull'argomento.

Non è un problema ma una domanda sul modo migliore per gestire il file config.phpin Magento 2.
In realtà il nostro config.phpnon è aggiornato (per impostazione predefinita nel .gitignorefile M2 ), quindi non è nel nostro repository. Il problema è che quando qualcuno installa il progetto non ha questo file ma ha già il database quindi non può essere eseguito bin/magento setup:install ...per generare il file.
Siamo consapevoli che bin/magento setup:upgradeaggiungere moduli non dichiarati a config.phpma solo se il file esiste e bin/magento module:enablepossiamo aggiungere moduli ma vorremmo evitare di lanciarlo ogni volta che distribuiamo o installiamo il progetto.

Le mie domande:
- Dobbiamo rimuoverlo config.phpda .gitignoree versione?
- Dobbiamo aggiungerlo la prima volta nel repository e lasciarlo .gitignoredopo?
- Qual è il modo migliore per gestire questo file?


1
Dal 2.2, si suggerisce di aggiungere in VCS
weynhamz il

Ciao @TechliveZheng grazie per le informazioni! Hai una fonte / spiegazione per questo?
Matthéo Geoffray,

Risposte:


15

Prima di tutto, ottima domanda.
Ma ... Non sono d'accordo con questo:

Il problema è che quando qualcuno installa il progetto non ha questo file ma ha già il database quindi non può essere eseguito bin/magento setup:install...

Direi che quando installi il progetto, se hai già il database, dovresti prendere il config.phpfile anche dallo stesso posto in cui hai ottenuto il database.
In questo modo non devi correre setup:installe hai tutto come dovrebbe essere.

Non consiglierei il controllo delle versioni di questo file a causa del seguente scenario.

  • Aggiungi un nuovo modulo su dev env.
  • Si esegue in setup:upgrademodo che il modulo non venga visualizzatoconfig.php
  • Impegni il tuo codice e lo distribuisci su un altro ambiente.
  • L'altra tua istanza env pensa che il tuo nuovo modulo sia già installato e ricevi un errore.

Quindi immagino che la soluzione migliore (IMO) sarebbe semplicemente non la versione e farlo a seconda del caso:

  • Clonare il progetto e il database da qualche altra parte, è necessario clonare anche il config.phpfile (insieme ad altri simili pub/media) in modo da non avere dati obsoleti.
  • Clonare solo i file nel repository e iniziare su una lavagna pulita, non copiarli config.php, basta eseguire il programma di installazione che lo creerà per te.

Non avevo pensato a questa soluzione, non sembra essere la più pratica, ma hai ragione in realtà è quella che sembra la più logica. Proveremo in questo modo. Se ciò non ti disturba, aspetterò la fine della giornata per accettare la tua risposta, forse potrebbero essere dati altri consigli. Grazie lo stesso !
Matthéo Geoffray il

Ho provato a rimuovere config.php dal repository e l'ho aggiunto a .gitignore. Un altro ambiente non è riuscito a generare un nuovo file config.php quando non esisteva (in modalità sviluppatore).
dchayka,

cosa intendi con "fallito"? hai provato a installarlo su un altro ambiente?
Marius
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.