ฉันกำลังย้ายจาก Drupal 7 เป็น Drupal 9 และกำลังมีปัญหากับไฟล์ต้นฉบับของฉันที่ถูกพบด้วยการย้ายข้อมูล upgrade_d7_file ไดเร็กทอรีไฟล์สาธารณะของฉันสำหรับไซต์ต้นทางคือ ไม่ 'ไซต์/ค่าเริ่มต้น/ไฟล์' เป็นอินสแตนซ์หลายไซต์และไดเร็กทอรีไฟล์สาธารณะคือ 'sites/example.com/files' ฉันได้ส่งออกการกำหนดค่าที่สร้างด้วย migrate-upgrade --configure-only และสามารถเปลี่ยนค่า source_base_path จากนั้นนำเข้าและดูการเปลี่ยนแปลง แต่ 'sites/default/files' จะถูกเพิ่มที่ส่วนท้ายของทุกสิ่งที่ฉันใส่ลงในค่า source_base_path . ฉันมีเส้นทางระบบไฟล์สาธารณะที่กำหนดไว้ใน 'admin/config/media/file-system' ของไซต์ต้นทาง
มีสถานที่สำหรับกำหนดเส้นทางเริ่มต้นให้เริ่มต้นด้วยสิ่งอื่นที่ไม่ใช่ ไซต์/ค่าเริ่มต้น/ไฟล์ สำหรับไซต์ต้นทาง?
เพิ่มการแก้ไข
ฉันเพิ่ม $conf['file_public_path'] = 'sites/example.com/files'; ไปยังไฟล์ settings.php แต่ก็ยังไม่ได้ใช้ จากนั้นฉันแก้ไขไฟล์ migrate_plus.migration.upgrade_d7_file.yml ที่เอ็กซ์พอร์ต แต่ไม่ใช่ไฟล์ source_base_path ฉันเพิ่มค่าคงที่อื่นภายใต้ "file_public_path: sites/example.com/files" จากนั้นในส่วนกระบวนการแก้ไขส่วนปลั๊กอิน concat ของ source_full_path เป็น
source_full_path:
-
ปลั๊กอิน: concat
ตัวคั่น: /
แหล่งที่มา:
- ค่าคงที่/source_base_path
- ค่าคงที่/file_public_path
- ชื่อไฟล์
-
จากนั้นนำเข้าการกำหนดค่าอีกครั้ง สิ่งนี้ได้ผล แต่ดูเหมือนว่าจะเป็นวิธีแก้ปัญหาที่ไร้สาระ
ขอบคุณ