Impor file konfigurasi yml tunggal

22

Apakah mungkin mengimpor satu file konfigurasi yml tunggal dengan menentukan pathnya?

Atau sekelompok file yml yang terkandung dalam modul tertentu?

David Riccitelli
sumber
Anda dapat dengan mengaktifkan modul konfigurasi dan kemudian menggunakan halaman impor tunggal.
Terima kasih @IvanJaros, dapatkah Anda memperluas komentar menjadi jawaban dengan perincian cara mengaktifkan modul konfigurasi dan jalur ke halaman impor tunggal? Apakah ada cara untuk mencapai hasil yang sama dengan drush atau konsol drupal? Jika berhasil, saya akan menerima jawabannya. Tepuk tangan!
David Riccitelli
saya kira Anda dapat meletakkan file ke direktori config / sync dan jalankan drush cim, ive selalu digunakan ui untuk file konfigurasi tunggal.
Itu akan mengimpor semua file di direktori sinkronisasi .
David Riccitelli

Jawaban:

15

Anda dapat gunakan

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

Bantuan Anda mengatakan:

$ 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
rpayanm
sumber
3
Itu hebat, tetapi jika Anda ingin mengimpor satu file, Anda harus memindahkannya ke direktori parsial lain? Aneh, bukan?
rreiss
14

Anda dapat mengimpor satu konfigurasi dengan menjalankan perintah berikut:

 drupal config:import:single

Jika Anda mencoba menjalankan beberapa impor, Anda dapat membuat rantai untuk itu.

Dokumentasi Perintah - konfigurasi: impor: tunggal

itsdarrylnorris
sumber
3
Apakah ada opsi untuk mabuk juga?
Benedikt
5
Kiat untuk pengguna Lando / Docker - Anda perlu menentukan lintasan lengkap saat berjalan dalam wadah, misalnya drupal config:import:single --directory="/app/config/sync" --file="foo.settings.yml", alih-alih hanya mengkonfigurasi / menyinkronkan ketika Anda berada di / app - jika tidak, Anda akan mendapatkan [GALAT] Nilai tidak boleh kosong . (Untungnya kode sumber Drupal Console bagus dan mudah di-debug.)
William Turrell
4

Jika Anda tidak menginstal Drush atau konsol Drupal, silakan gunakan langkah-langkah berikut (berhasil dijalankan di D 8.0.1):

  1. Pergi ke Administrasi-> Konfigurasi-> Sinkronisasi Konfigurasi. Konfigurasi dapat diekspor untuk satu item atau untuk seluruh situs. Saya lakukan untuk satu file user.mail.yml. Ekspor konfigurasi yang diperlukan.
    1. Ubah perubahan pada konfigurasi yang diekspor.
    2. Impor konfigurasi yang dimodifikasi
    3. Setelah impor berhasil, pastikan Anda menghapus data yang ada dari tabel config dan cache_config (Ekstrak dump basis data dan cari kata kunci konfigurasi. Dengan begitu Anda akan tahu tabel di mana entri itu ada.)

Catatan - Selalu ambil cadangan.

Soumya Rajiv
sumber