Dev to webs {Coding…}

เรียนรู้การพัฒนาซอฟเวอร์ เพื่อความรู้ที่ยั่งยืน

บทที่ 21: การตั้งค่าฐานข้อมูลใน Laravel

การตั้งค่าฐานข้อมูลใน Laravel เป็นขั้นตอนสำคัญที่ช่วยให้แอปพลิเคชันสามารถเชื่อมต่อกับฐานข้อมูลได้ง่ายและสะดวก Laravel มีการจัดการการเชื่อมต่อฐานข้อมูลที่เรียบง่าย โดยใช้ไฟล์คอนฟิก .env และ config/database.php เพื่อกำหนดค่าการเชื่อมต่อกับฐานข้อมูล เช่น ชื่อฐานข้อมูล, ผู้ใช้, รหัสผ่าน เป็นต้น

การตั้งค่าฐานข้อมูลในไฟล์ .env

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

ตัวอย่างการตั้งค่าฐานข้อมูล MySQL ในไฟล์ .env:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=root
DB_PASSWORD=your_password

  • DB_CONNECTION – กำหนดประเภทของฐานข้อมูล เช่น mysql, pgsql (PostgreSQL), sqlite, sqlsrv (SQL Server)
  • DB_HOST – กำหนดที่อยู่ของเซิร์ฟเวอร์ฐานข้อมูล (เช่น 127.0.0.1 สำหรับการใช้งานบนเครื่องท้องถิ่น)
  • DB_PORT – กำหนดพอร์ตที่เชื่อมต่อฐานข้อมูล
  • DB_DATABASE – กำหนดชื่อฐานข้อมูล
  • DB_USERNAME – ชื่อผู้ใช้ฐานข้อมูล
  • DB_PASSWORD – รหัสผ่านของผู้ใช้ฐานข้อมูล

การตั้งค่าฐานข้อมูลในไฟล์ config/database.php

นอกจากไฟล์ .env Laravel ยังเก็บข้อมูลการตั้งค่าฐานข้อมูลใน config/database.php ซึ่งใช้สำหรับกำหนดการเชื่อมต่อประเภทต่างๆ ในแอปพลิเคชัน การตั้งค่าในไฟล์นี้อ้างอิงค่าจาก .env ทำให้สามารถแก้ไขข้อมูลได้ง่าย

ตัวอย่างบางส่วนของไฟล์ config/database.php:

'default' => env('DB_CONNECTION', 'mysql'),

'connections' => [
    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
    ],
],

ในโค้ดนี้ Laravel ตั้งค่า mysql เป็นการเชื่อมต่อฐานข้อมูลเริ่มต้น (default) โดยจะใช้ค่าต่างๆ ที่กำหนดไว้ในไฟล์ .env

การทดสอบการเชื่อมต่อฐานข้อมูล

หลังจากตั้งค่าฐานข้อมูลแล้ว สามารถทดสอบการเชื่อมต่อได้โดยใช้คำสั่ง Artisan สำหรับการรัน migration ซึ่งจะตรวจสอบการเชื่อมต่อกับฐานข้อมูล หากการเชื่อมต่อสำเร็จระบบจะรัน migration ให้ แต่หากมีข้อผิดพลาดจะได้รับข้อความแจ้งเตือน

รันคำสั่ง migration:

php artisan migrate

หากการตั้งค่าถูกต้องจะเห็นข้อความว่าการ migration สำเร็จ ซึ่งแสดงถึงการเชื่อมต่อฐานข้อมูลที่ถูกต้อง

การนำไปใช้งาน

การตั้งค่าฐานข้อมูลเป็นขั้นตอนพื้นฐานที่ทำให้ Laravel เชื่อมต่อกับฐานข้อมูลได้อย่างถูกต้อง การตั้งค่าที่ถูกต้องจะช่วยให้สามารถใช้งานฟีเจอร์อื่นๆ ของ Laravel เช่น Eloquent ORM และ Query Builder ได้สะดวก การใช้ไฟล์ .env เพื่อจัดการคอนฟิกทำให้สามารถแก้ไขข้อมูลการเชื่อมต่อได้อย่างง่ายดายและปลอดภัยในหลายสภาพแวดล้อม เช่น การพัฒนา ทดสอบ และใช้งานจริง