Cách quản lý config.php trong Magento 2


15

Trước hết, đây có thể là một câu hỏi đã được trả lời nhưng tôi không tìm thấy gì về chủ đề đó.

Đây không phải là vấn đề mà là câu hỏi về cách tốt nhất để quản lý tệp config.phptrong Magento 2.
Trên thực tế, chúng tôi config.phpkhông được phiên bản (theo mặc định trong .gitignoretệp M2 ) vì vậy nó không có trong kho lưu trữ của chúng tôi. Vấn đề là khi ai đó cài đặt dự án, anh ta không có tệp này nhưng anh ta đã có cơ sở dữ liệu để anh ta không thể chạy bin/magento setup:install ...để tạo tệp.
Chúng tôi biết rằng việc bin/magento setup:upgradethêm các mô-đun không khai báo vào config.phpnhưng chỉ khi tệp tồn tại và bin/magento module:enablecó thể thêm các mô-đun nhưng chúng tôi muốn tránh khởi chạy mỗi khi chúng tôi triển khai hoặc cài đặt dự án.

Câu hỏi của tôi (s):
- Đỗ chúng ta phải loại bỏ config.phptừ .gitignorevà phiên bản nó?
- Chúng ta có phải thêm nó lần đầu tiên trong kho lưu trữ và để nó ở .gitignoresau không?
- Cách tốt nhất để quản lý tập tin này là gì?


1
Kể từ ngày 2.2, nên thêm vào VCS
weynhamz

Xin chào @TechliveZheng cảm ơn thông tin! Bạn có một nguồn / giải thích cho điều đó?
Matthéo Geoffray

Câu trả lời:


15

Trước hết, câu hỏi rất hay.
Nhưng ... tôi không đồng ý với điều này:

Vấn đề là khi ai đó cài đặt dự án, anh ta không có tệp này nhưng anh ta đã có cơ sở dữ liệu để anh ta không thể chạy bin/magento setup:install...

Tôi sẽ nói rằng khi bạn cài đặt dự án, nếu bạn đã có cơ sở dữ liệu, bạn cũng nên lấy config.phptệp từ cùng một nơi bạn có cơ sở dữ liệu.
Bằng cách này, bạn không cần phải chạy setup:installvà bạn có mọi thứ như nó phải vậy.

Tôi không khuyến nghị phiên bản tập tin này vì kịch bản sau đây.

  • Bạn thêm một mô-đun mới trên dev env.
  • Bạn chạy setup:upgradeđể mô-đun xuất hiện không trongconfig.php
  • Bạn cam kết mã của bạn và triển khai nó trên một env khác.
  • Ví dụ env khác của bạn nghĩ rằng mô-đun mới của bạn đã được cài đặt và bạn gặp lỗi.

Vì vậy, tôi đoán giải pháp tốt nhất (IMO) sẽ là không phiên bản nó và làm điều này tùy thuộc vào trường hợp của bạn:

  • Bạn sao chép dự án và cơ sở dữ liệu ở một nơi khác, bạn cũng nên sao chép config.phptệp (cùng với những người khác như pub/mediavậy) để bạn không có dữ liệu lỗi thời.
  • Bạn chỉ sao chép các tệp trong repo và bắt đầu trên một bản rõ ràng, không sao chép config.php, chỉ chạy trình cài đặt sẽ tạo tệp đó cho bạn.

Tôi đã không nghĩ đến giải pháp này, nó dường như không thực tế nhất, nhưng bạn nói đúng là nó có vẻ hợp lý nhất. Chúng tôi sẽ kiểm tra theo cách này. Nếu điều đó không làm phiền bạn, tôi sẽ đợi đến cuối ngày để chấp nhận câu trả lời của bạn, có thể lời khuyên khác có thể được đưa ra. Dù sao cũng cảm ơn bạn
Matthéo Geoffray

Tôi đã thử gỡ bỏ config.php khỏi repo và thêm nó vào .gitignore. Một môi trường khác không thể tạo tệp config.php mới khi nó không tồn tại (trong chế độ nhà phát triển).
dchayka

"thất bại" nghĩa là gì? bạn đã thử cài đặt nó trên một env khác chưa?
Marius
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.