Importa un singolo file di configurazione yml


22

È possibile importare un singolo file di configurazione yml specificandone il percorso?

O un gruppo di file yml contenuti in un modulo specifico?


È possibile abilitando il modulo di configurazione e quindi utilizzando la singola pagina di importazione.

Grazie @IvanJaros, puoi espandere il commento in una risposta con i dettagli su come abilitare il modulo di configurazione e il percorso alla singola pagina di importazione? Esiste un modo per ottenere gli stessi risultati con drush o drupal console? Se funziona, accetterò la risposta. Saluti!
David Riccitelli,

Immagino che tu possa mettere il file nella directory config / sync ed eseguire semplicemente drush cim, che ti ho sempre usato per un singolo file di configurazione.

Ciò importerebbe tutti i file nella directory di sincronizzazione .
David Riccitelli,

Risposte:


15

Puoi usare

$ drush cim --partial --source=only-few-configs/

Il tuo aiuto dice:

$ drush cim --help
Import config from a config directory.

Examples:
 drush config-import --partial             Import configuration; do not remove missing configuration.

Arguments:
 label                                     A config directory label (i.e. a key in $config_directories array in 
                                           settings.php). Defaults to 'sync'

Options:
 --partial                                 Allows for partial config imports from the source directory. Only updates and new 
                                           configs will be processed with this flag (missing configs will not be deleted).   
 --preview=<list>                          Format for displaying proposed changes. Recognized values: list, diff. Defaults   
                                           to list.                                                                          
 --source                                  An arbitrary directory that holds the configuration files. An alternative to      
                                           label argument

Aliases: cim

3
È fantastico, ma se vuoi importare un file devi spostarlo in un'altra directory parziale? È strano, no?
rreiss,

14

È possibile importare una configurazione eseguendo il comando seguente:

 drupal config:import:single

Se si sta tentando di eseguire più importazioni, è possibile creare una catena per questo.

Documentazione dei comandi - config: import: single


3
C'è un'opzione anche per Drush?
Benedikt,

5
Suggerimento per gli utenti di Lando / Docker: è necessario specificare il percorso completo durante l'esecuzione in un contenitore, ad esempio drupal config:import:single --directory="/app/config/sync" --file="foo.settings.yml", anziché limitarsi a configurare / sincronizzare quando ci si trova in / app , altrimenti si otterrà [ERRORE] Il valore non può essere vuoto . (Fortunatamente il codice sorgente di Drupal Console è semplice e facile da eseguire il debug.)
William Turrell,

4

Nel caso in cui non sia installata la console Drush o Drupal, attenersi alla seguente procedura (eseguita correttamente in D 8.0.1):

  1. Vai su Amministrazione-> Configurazione-> Sincronizzazione configurazione. La configurazione può essere esportata per un singolo elemento o per l'intero sito. Ho fatto per un singolo file user.mail.yml. Esporta la configurazione richiesta.
    1. Modifica le modifiche alla configurazione esportata.
    2. Importa la configurazione modificata
    3. Al termine dell'importazione, assicurarsi di cancellare i dati esistenti dalle tabelle config e cache_config (estrarre un dump del database e cercare le parole chiave di configurazione. In questo modo si conosceranno le tabelle in cui è presente la voce.)

Nota: eseguire sempre un backup.

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.