Importar un solo archivo de configuración yml


22

¿Es posible importar un solo archivo de configuración yml especificando su ruta?

¿O un grupo de archivos yml contenidos en un módulo específico?


Puede habilitar el módulo de configuración y luego usar la página de importación única.

Gracias @IvanJaros, ¿puede ampliar el comentario a una respuesta con detalles sobre cómo habilitar el módulo de configuración y la ruta a la página de importación única? ¿Hay alguna manera de lograr los mismos resultados con la consola drush o drupal? Si funciona, aceptaré la respuesta. ¡Salud!
David Riccitelli

Supongo que puede poner el archivo en el directorio config / sync y simplemente ejecutar drush cim, siempre he usado ui para un solo archivo de configuración.

Eso importaría todos los archivos en el directorio de sincronización .
David Riccitelli

Respuestas:


15

Puedes usar

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

Tu ayuda 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
Eso es genial, pero si desea importar un archivo, ¿tiene que moverlo a otro directorio parcial? Eso es raro, ¿no?
rreiss

14

Puede importar una configuración ejecutando el siguiente comando:

 drupal config:import:single

Si está intentando ejecutar una importación múltiple, puede crear una cadena para eso.

Documentación de comandos - config: import: single


3
¿Hay alguna opción para drush también?
Benedikt

55
Sugerencia para los usuarios de Lando / Docker: debe especificar la ruta completa cuando se ejecuta en un contenedor, por ejemplo drupal config:import:single --directory="/app/config/sync" --file="foo.settings.yml", en lugar de simplemente configurar / sincronizar cuando está en / app ; de lo contrario, obtendrá [ERROR] El valor no puede estar vacío . (Afortunadamente, el código fuente de la Consola Drupal es agradable y fácil de depurar.)
William Turrell el

4

En caso de que no tenga instalada la consola Drush o Drupal, siga los siguientes pasos (ejecutados con éxito en D 8.0.1):

  1. Vaya a Administración-> Configuración-> Sincronización de configuración. La configuración se puede exportar para un solo elemento o para todo el sitio. Lo hice para un solo archivo user.mail.yml. Exporte la configuración requerida.
    1. Modifique los cambios a la configuración exportada.
    2. Importar la configuración modificada
    3. Una vez que la importación sea exitosa, asegúrese de borrar los datos existentes de las tablas config y cache_config (Extraiga un volcado de la base de datos y busque las palabras clave de configuración. De esa manera sabrá las tablas donde está presente la entrada).

Nota: siempre realice una copia de seguridad.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.