วิธีจัดการ config.php ใน Magento 2


15

ก่อนอื่นอาจเป็นคำถามที่ตอบแล้ว แต่ฉันไม่พบอะไรเกี่ยวกับเรื่องนั้น

มันไม่ใช่ปัญหา แต่เป็นคำถามเกี่ยวกับวิธีที่ดีที่สุดในการจัดการไฟล์config.phpใน Magento 2 ที่
จริงแล้วเราconfig.phpไม่ได้ทำเวอร์ชัน (ตามค่าเริ่มต้นใน.gitignoreไฟล์M2 ) ดังนั้นจึงไม่ได้อยู่ในที่เก็บของเรา ปัญหาคือเมื่อมีคนติดตั้งโครงการเขาไม่มีไฟล์นี้ แต่เขามีฐานข้อมูลอยู่แล้วเขาจึงไม่สามารถเรียกใช้bin/magento setup:install ...เพื่อสร้างไฟล์ได้
เราตระหนักดีว่าการbin/magento setup:upgradeเพิ่มโมดูลที่ไม่ได้ประกาศไว้นั้นจะเกิดขึ้นconfig.phpหากไฟล์นั้นมีอยู่และbin/magento module:enableสามารถเพิ่มโมดูลได้ แต่เราต้องการหลีกเลี่ยงการเปิดใช้งานทุกครั้งที่เราปรับใช้หรือติดตั้งโครงการ

คำถามของฉัน (s):
- เราจะต้องเอาconfig.phpจาก.gitignoreรุ่นมันได้หรือไม่
- เราจะต้องเพิ่มมันเป็นครั้งแรกในพื้นที่เก็บข้อมูลและปล่อยให้มันเป็นใน.gitignoreภายหลังหรือไม่?
- วิธีที่ดีที่สุดในการจัดการไฟล์นี้คืออะไร?


1
ตั้งแต่ 2.2 ขอแนะนำให้เพิ่มลงใน VCS
weynhamz

สวัสดี @TechliveZheng ขอบคุณสำหรับข้อมูล! คุณมีที่มา / คำอธิบายสำหรับสิ่งนั้นหรือไม่?
Matthéo Geoffray

คำตอบ:


15

ก่อนอื่นคำถามที่ดีมาก
แต่ ... ฉันไม่เห็นด้วยกับสิ่งนี้:

ปัญหาคือเมื่อมีคนติดตั้งโครงการเขาไม่มีไฟล์นี้ แต่เขามีฐานข้อมูลอยู่แล้วเขาจึงไม่สามารถเรียกใช้bin/magento setup:install...

ฉันจะบอกว่าเมื่อคุณติดตั้งโครงการถ้าคุณมีฐานข้อมูลแล้วคุณควรใช้config.phpไฟล์จากที่เดียวกันที่คุณได้รับฐานข้อมูล
วิธีนี้คุณไม่ต้องวิ่งsetup:installและคุณมีทุกอย่างเท่าที่ควร

ฉันจะไม่แนะนำการกำหนดเวอร์ชันไฟล์นี้เนื่องจากสถานการณ์ต่อไปนี้

  • คุณเพิ่มโมดูลใหม่บน dev env
  • คุณเรียกใช้setup:upgradeโมดูลปรากฏขึ้นไม่ได้config.php
  • คุณยอมรับรหัสของคุณและปรับใช้กับ env อื่น ๆ
  • อินสแตนซ์ env อื่น ๆ ของคุณคิดว่าโมดูลใหม่ของคุณได้รับการติดตั้งแล้วและคุณได้รับข้อผิดพลาด

ดังนั้นฉันเดาว่าทางออกที่ดีที่สุด (IMO) น่าจะไม่ใช่แค่เวอร์ชันและทำสิ่งนี้ขึ้นอยู่กับกรณีของคุณ:

  • คุณโคลนโครงการและฐานข้อมูลที่อื่นคุณควรโคลนconfig.phpไฟล์ (พร้อมกับคนอื่น ๆ เช่นpub/media) ดังนั้นคุณจะไม่ได้รับข้อมูลที่ล้าสมัย
  • คุณโคลนเฉพาะไฟล์ใน repo และเริ่มต้นบนกระดานชนวนสะอาดอย่าคัดลอกconfig.phpเพียงรันโปรแกรมติดตั้งที่จะสร้างไฟล์นั้นให้คุณ

ฉันไม่ได้คิดเกี่ยวกับการแก้ปัญหานี้มันไม่ได้ดูเหมือนจะใช้งานได้จริงที่สุด แต่คุณจริง ๆ แล้วมันเป็นสิ่งที่ดูเหมือนสมเหตุสมผลที่สุด เราจะทดสอบวิธีนี้ ถ้านั่นไม่รบกวนคุณฉันจะรอสิ้นวันเพื่อยอมรับคำตอบของคุณบางทีอาจมีคำแนะนำอื่น ๆ ขอบคุณอยู่ดี!
Matthéo Geoffray

ฉันพยายามลบ config.php จาก repo และเพิ่มลงใน. gitignore สภาพแวดล้อมอื่นไม่สามารถสร้างไฟล์ config.php ใหม่เมื่อไม่มีอยู่ (ในโหมดนักพัฒนาซอฟต์แวร์)
dchayka

คุณหมายถึงอะไร "ล้มเหลว"? คุณลองติดตั้งใน env อื่นหรือไม่?
Marius
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.