Điểm:3

Tại sao cài đặt từ một cấu hình hiện có không thành công?

lá cờ cn

Tôi đang gặp khó khăn trong việc cài đặt trang web drupal từ cấu hình hiện có. Ở đây tôi đã thử hai cách tiếp cận:

TÙY CHỌN 1: Nhập cấu hình bằng cách thay đổi UID:

  • drush cex trên trang web hiện có
  • trang web drush: cài đặt để cài đặt trang web mới
  • drush cset system.site uuid 478e7e74-fea3...... để đặt UUID trên trang web mới bằng với trang web hiện tại
  • drush cim trên trang web mới

KẾT QUẢ:

  Quá trình nhập không thành công do các lý do sau:

  Lỗi không mong muốn trong quá trình nhập với thao tác xóa đối với taxonomy.vocabulary.tags: Cố gắng tạo phần thân trường không tồn tại trên nút loại thực thể.
  Lỗi không mong muốn trong quá trình nhập với thao tác xóa đối với phím tắt.set.default: Cố gắng tạo nội dung trường không tồn tại trên nút loại thực thể.
  Lỗi không mong muốn trong quá trình nhập với thao tác xóa đối với contact.form.personal: Cố gắng tạo một nội dung trường không tồn tại trên nút loại thực thể.

.... (Còn nhiều lỗi nữa, nhưng tôi đã loại bỏ chúng ở đây để dễ đọc hơn)

TÙY CHỌN 2: Cung cấp cấu hình hiện có trong khi cài đặt

trang web drush: cài đặt --current-config với cấu hình từ trang hiện tại có sẵn trong thư mục cấu hình của trang mới.

KẾT QUẢ:

Cấu hình đã chọn có triển khai hook_install() và do đó có thể
không được cài đặt từ cấu hình.
Điểm:3
lá cờ in

Tôi nghĩ rằng tùy chọn 1 là một cách giải quyết khó khăn hơn là một cách tiếp cận được đề xuất. Tôi sẽ tránh nó để ủng hộ tùy chọn 2.

Re: tùy chọn 2 không thành công, thông báo lỗi khá rõ ràng - bạn không thể sử dụng --current-config tùy chọn với một cấu hình thực hiện móc cài đặt.

Từ bản ghi thay đổi giới thiệu khả năng cài đặt từ cấu hình hiện có:

Nếu cấu hình thực hiện cài đặt cấu hình hook_install() không được hỗ trợ. Điều này có thể được giải quyết trong #2982052: Cho phép móc cài đặt trong cấu hình cài đặt từ cấu hình. Các giải pháp khả thi hiện tại là thay đổi cấu hình cài đặt thành tối thiểu hoặc làm theo tùy chọn 2 và tạo một cấu hình mới không triển khai hook.

Drupal 8: Cài đặt trang web từ cấu hình hiện có hướng dẫn cách thay đổi cài đặt của bạn để sử dụng cấu hình tối thiểu thay vì cấu hình hiện tại của bạn. Spoiler: bạn chỉ cần thực hiện hai bản cập nhật cho core.extension.yml tập tin trong thư mục cấu hình của bạn:

  1. Thay đổi Hồ sơ giá trị của khóa để tối thiểu
  2. Ở dưới cái mô-đun khóa, hãy thay thế khóa hồ sơ hiện có của bạn bằng tối thiểu. (Hồ sơ thường sẽ ở gần cuối danh sách.)
Extect avatar
lá cờ cn
Cảm ơn rất nhiều! Điều này ít nhất cho phép tôi cài đặt từ cấu hình hiện có. Tuy nhiên, tôi phải thay đổi core.extension.yml trước mỗi lần chạy drush cim để nó hoạt động. Có một cách xung quanh đó là tốt?
sonfd avatar
lá cờ in
Điều đó không cần thiết. Bạn sẽ có thể cài đặt trang web với `core.extension.yml` đã thay đổi và xuất cấu hình của bạn (`drush cex`) sau khi cài đặt xong. Sau đó, bạn chỉ cần có một trang web bình thường mà không cần điều trị đặc biệt.
Extect avatar
lá cờ cn
Tôi có một trang web dành cho nhà phát triển (với tiêu chuẩn cấu hình cài đặt) mà tôi muốn cài đặt hoàn toàn trong prod (có thể thực hiện được bằng cách thay đổi core.extension.yml nhờ gợi ý của bạn). Bây giờ, khi tôi muốn thực hiện thay đổi cấu hình trong dev và đẩy nó sang prod, tôi sẽ thực hiện `drush cex` trong dev và `drush cim` trong prod, nhưng điều này sẽ không hoạt động nếu không thay đổi `core.extension. yml` lần nữa. Tôi đang làm gì sai?
sonfd avatar
lá cờ in
Sau khi thực hiện cài đặt mới trên prod, bạn cần đưa cơ sở dữ liệu đó (và cấu hình) trở lại phiên bản nhà phát triển của mình. Có vẻ như bạn đang cố thực hiện hai lượt cài đặt mới riêng biệt (một lượt cài đặt trên nhà phát triển và lượt cài đặt thứ hai trên sản phẩm) rồi triển khai mã giữa chúng như thể chúng là cùng một trang web. AFAIK, điều này không được hỗ trợ.
Extect avatar
lá cờ cn
Vâng. Cảm ơn! Tôi chỉ muốn loại bỏ tất cả nội dung thử nghiệm của mình trong nhà phát triển bằng cách thực hiện cài đặt mới cho sản phẩm. Có lẽ lỗi của tôi là không đồng bộ hóa thành hai ngay lập tức.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.