ข้ามไปเนื้อหาหลัก

เจาะลึกตารางฐานข้อมูลเริ่มต้นใน Laravel มีอะไรบ้าง

ทำความเข้าใจตารางฐานข้อมูลเริ่มต้น 7-8 ตารางใน Laravel ทั้งตารางหลักและตารางเสริม พร้อมวิธีจัดการและทางเลือกอื่น

เรียบเรียงโดย AI
Inewgen
04 Sep 2026ที่มา: Dev.to2 นาทีอ่าน (0 ครั้ง)
แชร์
เจาะลึกตารางฐานข้อมูลเริ่มต้นใน Laravel มีอะไรบ้าง

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ขนาดตัวอักษร
  • การติดตั้ง Laravel ใหม่สร้างตารางฐานข้อมูลพื้นฐาน 7-8 ตาราง
  • ตารางอย่าง users และ failed_jobs ถูกสร้างอัตโนมัติผ่าน migration
  • ตารางเสริม เช่น cache และ sessions ต้องใช้คำสั่ง Artisan แยกต่างหาก
  • นักพัฒนาสามารถปรับเปลี่ยนหรือใช้ Redis แทนฐานข้อมูลได้ตามต้องการ

เมื่อเริ่มต้นโปรเจกต์ Laravel ใหม่ ระบบจะทำการสร้างตารางฐานข้อมูลเริ่มต้นขึ้นมาจำนวน 7 ถึง 8 ตาราง ขึ้นอยู่กับแพ็กเกจที่คุณเลือกใช้งาน โดยตารางแกนหลักที่ถูกสร้างขึ้นอัตโนมัติประกอบด้วย users, password_resets, failed_jobs และ personal_access_tokens ซึ่งตารางเหล่านี้ไม่ได้ถูกล็อกตายตัว นักพัฒนาสามารถเปลี่ยนชื่อ ขยายโครงสร้าง หรือแทนที่ได้ตามความเหมาะสมของโปรเจกต์

สำหรับตารางหลักที่สร้างขึ้นทันทีเมื่อรันคำสั่ง migration ได้แก่ users, password_resets (หรือ password_reset_tokens ใน Laravel 8 ขึ้นไป) และ failed_jobs ส่วนตารางอื่นๆ เช่น sessions, cache, jobs และ batches จะถูกสร้างขึ้นก็ต่อเมื่อมีการรันคำสั่ง Artisan เฉพาะกิจของแต่ละฟีเจอร์เท่านั้น

software developer coding screen dark mode

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

รายละเอียดของแต่ละตารางหลักและตารางเสริมมีดังนี้:

  • users: จัดเก็บข้อมูลผู้ใช้งานระบบ
  • password_resets / password_reset_tokens: จัดการเรื่องการรีเซ็ตรหัสผ่าน โดย Laravel 8 ขึ้นไปได้เปลี่ยนชื่อเป็น password_reset_tokens
  • failed_jobs: ใช้สำหรับดีบักงานในคิว (queue jobs) ที่ล้มเหลว โดยคอลัมน์ exception จะเก็บสแต็กเทรซ (stack trace) ทั้งหมดไว้
  • personal_access_tokens: สร้างขึ้นโดย Laravel Sanctum สำหรับการยืนยันตัวตนด้วย API token
  • sessions: สร้างผ่านคำสั่ง php artisan session:table เพื่อเก็บข้อมูล HTTP session ในฐานข้อมูลแทนไฟล์
  • cache: สร้างผ่านคำสั่ง php artisan cache:table เพื่อเก็บข้อมูลแคชแบบคีย์-วาลิว
  • jobs: สร้างผ่านคำสั่ง php artisan queue:table สำหรับเก็บงานในคิวที่รอการประมวลผล
  • batches: สร้างผ่านคำสั่ง php artisan queue:batches-table เพื่อติดตามความคืบหน้าของการประมวลผลงานแบบคู่ขนาน

การเข้าใจโครงสร้างตารางฐานข้อมูลเริ่มต้นของ Laravel เป็นสิ่งสำคัญสำหรับนักพัฒนาในการออกแบบระบบและการจัดการทรัพยากร การเลือกเก็บข้อมูลเซสชันหรือแคชลงในฐานข้อมูลช่วยให้ระบบสามารถรองรับการขยายตัว (Scalability) ได้ดีขึ้นเมื่อรันบนเซิร์ฟเวอร์หลายตัว แต่หากต้องการประสิทธิภาพสูงสุด นักพัฒนาส่วนใหญ่มักจะเปลี่ยนไปใช้ระบบจัดการในหน่วยความจำอย่าง Redis แทน

นอกจากนี้ Laravel ยังรองรับการใช้งาน Redis สำหรับจัดการ sessions, cache และ queues ได้ทันทีโดยไม่ต้องตั้งค่าซับซ้อน เพียงแค่เปลี่ยนค่าไดรเวอร์ในไฟล์ .env เป็น redis ตารางฐานข้อมูลเหล่านี้ก็จะไม่จำเป็นต้องใช้งานอีกต่อไป และหากต้องการเห็นภาพรวมของความสัมพันธ์ทั้งหมด แนะนำให้ใช้เครื่องมืออย่าง dbdiagram.io เพื่อแปลงสตริงการเชื่อมต่อฐานข้อมูลให้ออกมาเป็นแผนภาพโครงสร้างที่มองเห็นได้ง่าย

ที่มา: Dev.to

ความคิดเห็น

แสดงความคิดเห็น
0/2000

พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้