บทเรียน laravel 5 การใช้งาน Migrations และ Seeding

บทเรียนนี้เราจะมาว่ากันด้วยเรื่อง Migrations และ Seeding ครับ หรือพูดให้เข้าใจง่าย ๆ ก็คือ การสร้าง ตารางต้นแบบ และข้อมูลที่จะใช้งานเมื่อเริ่มต้นระบบนั้นเองครับ ก่อนทำการสร้าง ให้ทำการตั้งค่า การเชื่อมต่อฐาน ข้อมูลกันก่อนครับ หากใครยังไม่ทราบว่า ติดตั้งอย่างไร ก็ตามคลิกนี้เลยครับ ขั้นตอนการเชื่อมต่อฐานข้อมูล
เริ่มต้นด้วย ให้ทำการเปิด Command Prompt ขึ้นมาครับ
จากนั้นให้เราไปที่ Directory ที่เราได้ติดตั้ง laravel ของเราไว้ครับ ในที่นี้ผมได้ทำการติดตั้งไว้ที่ E:/xampp/htdocs/laravel-5 ก็จะต้องพิมพ์คำสั่งดังนี้ครับ
เมื่อเข้ามายัง path แล้ว เราจะเริ่มสร้างไฟล์ สำหรับตาราง users กันครับ โดยใช้คำสั่ง
php artisan make:migration create_table_users
จากนั้นให้เราไปดูที่ project laravel ของเราครับ โดยเข้าไปที่ database/migrations เราจะพบไฟล์ที่ทำการสร้างเพิ่มขึ้นมาคือ โดยจะมีวันที่กำกับด้านหน้าของไฟล์ เพื่อป้องกันไฟล์ซ้ำ ไฟล์ที่ได้จะเป็น 2015_06_16_182114_create_users_table.php
จากนั้นให้เราทำการเปิดไฟล์ขึ้นมา
จะพบกับสคริปต้นฉบับ คือ
เราจะทำการสร้างตารางชื่อว่า users โดยใช้ Schema::create() ในการสร้าง ให้ทำการแทรก สคริปดังนี้ครับ
เมื่อทำการแก้ไขเสร็จแล้ว ขั้นตอนต่อไป เราจะมาทำการ สร้างข้อมูลต้นแบบกันครับ
ให้เราไปที่ database/seeds แล้วทำการเปิดไฟล์ DatabaseSeeder.php ขึ้นมา จากคริปต้นแบบจะได้เป็น
ให้เราทำการแก้ไขดังนี้ครับ
ขั้นตอนต่อไป เราจะมาใช้คำสั่ง migrate เพื่อทำการสร้างตารางขึ้นมาครับ ให้เรากลับไปที่ Command Prompt จากนั้นเราจะใช้คำสั่ง
php artisan migrate –force
เพื่อทำการสร้างตารางขึ้นมาครับ
ตรวจสอบฐานข้อมูลก่อนสั่ง migrate ทำงาน ตอนนี้จะยังไม่มีตารางในฐานข้อมูลครับ
เมื่อทำการสั่งให้ php artisan migrate –force
หลังจากที่ทำการ รันแล้วจะพบว่า ระบบทำการสร้างตาราง users มาให้แล้ว เมื่อเปิดดูจะพบว่ายังไม่มีข้อมูลภายใน
จากนั้น เราจะมารันคำสั่งเพื่อทำการเพิ่มข้อมูลต้นแบบกันครับ ให้ไปที่ Command Prompt แล้วรันคำสั่ง
php artisan db:seed
เมื่อเข้าไปตรวจสอบที่ตาราง users อีกครั้ง จะพบว่ามีการเพิ่มข้อมูลต้นแบบลงไปเรียบร้อยแล้ว
หวังว่าบทเรียนนี้ คงทำให้เพื่อนเข้าใจการทำงานของ Migrations และ Seeding มากยิ่งขึ้นนะครับ
เพื่อน ๆ สามารถดูคำสั่ง Schema::create() สำหรับสรา้งฐานข้อมูล ตามลิ้งนี้ไปเลยครับ
และเพื่อน ๆ สามารถคลิกไลน์ จาก Sidebar ด้านขวามื่อ เพื่อติดตามข่าวสารบทเรียนจากเราได้ครับ…