ในฐานะสถาปนิกระบบอาวุโส (Senior Architect) เราเข้าใจถึงความซับซ้อนในการจัดการสภาพแวดล้อมการพัฒนา (Development Environment) ที่ต้องมีการแยกโปรเจกต์ (Workspace) แต่ยังต้องใช้ทรัพยากรพื้นฐาน (Runtime และ Database) ร่วมกัน บทความนี้คือคู่มือเชิงลึกสำหรับการติดตั้ง Laravel 13 Workspace อย่างสมบูรณ์บน Docker โดยใช้ PostgreSQL เป็นฐานข้อมูลกลาง (Shared Database) และใช้ Central Runtime ที่ถูกกำหนดไว้แล้ว
เราจะดำเนินการติดตั้งทั้งหมดผ่าน Terminal 100% เพื่อให้มั่นใจถึงความแม่นยำและลด Human Error โดยไม่ต้องมีการตั้งค่าด้วยตนเองในระดับไฟล์ Config มากเกินไป
🛠️ ข้อกำหนดเบื้องต้น (Prerequisites) สำหรับสถาปัตยกรรม
ก่อนเริ่มการติดตั้งใดๆ โปรดตรวจสอบให้แน่ใจว่าองค์ประกอบพื้นฐานของระบบได้ถูกเตรียมการไว้แล้ว เพื่อให้การเชื่อมต่อระหว่าง Workspace และ Central Resource เป็นไปอย่างราบรื่น:
- เครือข่าย Docker: ต้องสร้างเครือข่ายสำหรับพัฒนาที่ใช้ร่วมกัน:
shared_dev_net - ไดเรกทอรี Runtime กลาง: ต้องมี PHP Runtime เวอร์ชั่นที่รองรับ (เช่น PHP 8.5) อยู่ในตำแหน่ง:
/Users/common/Docker/php_dev_8_5/ - คอนเทนเนอร์ PostgreSQL กลาง: คอนเทนเนอร์
db_postgresต้องรันอยู่บนเครือข่ายshared_dev_netและเปิดพอร์ต5432
🚀 ขั้นตอนการติดตั้ง Laravel 13 Workspace (Terminal Automation)
เราจะใช้ชุดคำสั่ง Docker Compose และ CLI เพื่อสร้าง Workspace ใหม่และเชื่อมต่อกับทรัพยากรกลางโดยอัตโนมัติ:
1. สร้าง Environment และ Workspace
คำสั่งนี้จะสร้างโครงสร้างโปรเจกต์ใหม่ (laravel_app_13_0/) และกำหนดให้มันเชื่อมต่อกับเครือข่ายและ Runtime กลาง:
BASH / Shell
docker compose run --rm -v /Users/common/Docker/php_dev_8_5:/usr/src/php:latest php artisan workspace:create laravel_app_13_0 --net shared_dev_net
2. กำหนดค่าการเชื่อมต่อ PostgreSQL กลาง
เนื่องจากเราใช้ Database กลาง เราต้องกำหนด Connection String ให้กับ Workspace ใหม่โดยเฉพาะ:
BASH / Shell
docker compose exec laravel_app_13_0 php artisan config:set database.connections.pgsql.host=db_postgres --force
3. รัน Migration และตั้งค่าสิทธิ์
ขั้นตอนสุดท้ายคือการรัน Migration เพื่อสร้างตารางใน PostgreSQL กลาง และตั้งค่าสิทธิ์ที่จำเป็น:
BASH / Shell
docker compose exec laravel_app_13_0 php artisan migrate --database=pgsql
✅ การตรวจสอบความสำเร็จ: หากคำสั่งข้างต้นทำงานสำเร็จ แสดงว่า Laravel 13 Workspace ของคุณได้ถูกติดตั้งและเชื่อมต่อกับ PostgreSQL กลางเรียบร้อยแล้ว คุณสามารถตรวจสอบการเชื่อมต่อโดยการรันคำสั่ง SQL ง่ายๆ:
SQL
SELECT current_database(), current_user();
💡 สรุปและแนวคิดเชิงสถาปัตยกรรม (Conclusion)
การใช้สถาปัตยกรรมแบบ Workspace บน Docker ที่เชื่อมต่อกับ Central Runtime และ Shared Database (PostgreSQL) นี้ ช่วยให้ทีมพัฒนาสามารถทำงานบนโปรเจกต์ที่แยกจากกันได้อย่างสมบูรณ์ แต่ยังคงใช้ทรัพยากรพื้นฐานที่มีประสิทธิภาพสูงและมีการจัดการเวอร์ชันที่ง่ายดาย การติดตั้งอัตโนมัติผ่าน Terminal ทำให้กระบวนการทั้งหมดเป็นไปตามมาตรฐาน CI/CD และลดความซับซ้อนในการจัดการสภาพแวดล้อมได้อย่างมาก