NTM Solutions

Bài đăng nổi bật

🚀 Laravel 12 (2026) — Từ PHP Core đến Full Stack📘

Nếu cập nhật theo Laravel 12 LTS (2026) thì mình sẽ chia thành các phần như sau để người học đi từ PHP Core → Laravel → Triển khai dự án th...

Thứ Bảy, 11 tháng 7, 2026

🚀 Laravel 12 (2026) — Bài 06 — Cấu hình Database : Kết nối MySQL và Migration đầu tiên

Sau khi hoàn thành phần Routing, ControllerBlade, chúng ta đã có thể xây dựng giao diện cho ứng dụng. 

Tuy nhiên, mọi website thực tế đều cần lưu trữ dữ liệu như người dùng, bài viết, danh mục hay đơn hàng.

Đó là lúc Database trở thành thành phần không thể thiếu.

Trong bài học này, chúng ta sẽ tìm hiểu cách kết nối Laravel với MySQL và chạy Migration đầu tiên để tạo cơ sở dữ liệu theo chuẩn của Laravel.


Database trong Laravel

Laravel hỗ trợ nhiều hệ quản trị cơ sở dữ liệu như:

  • MySQL

  • MariaDB

  • PostgreSQL

  • SQLite

  • SQL Server

Trong khóa học này, chúng ta sẽ sử dụng MySQL vì đây là hệ quản trị phổ biến nhất trong các dự án PHP.


Chuẩn bị MySQL

Trước tiên hãy tạo một database mới.

Ví dụ:

CREATE DATABASE laravel12;

Bạn có thể tạo bằng:

  • phpMyAdmin

  • MySQL Workbench

  • DBeaver

  • Hoặc sử dụng dòng lệnh MySQL.


File cấu hình .env

Laravel sử dụng file .env để lưu các thông tin cấu hình của dự án.

Mở file:

.env

Tìm đến phần Database:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel12
DB_USERNAME=root
DB_PASSWORD=

Ý nghĩa của từng thông số:

  • DB_CONNECTION: Loại cơ sở dữ liệu.

  • DB_HOST: Địa chỉ máy chủ.

  • DB_PORT: Cổng kết nối.

  • DB_DATABASE: Tên cơ sở dữ liệu.

  • DB_USERNAME: Tài khoản đăng nhập.

  • DB_PASSWORD: Mật khẩu.

Laravel sẽ đọc các thông tin này mỗi khi kết nối Database.


Kiểm tra kết nối

Sau khi cấu hình xong, hãy khởi động ứng dụng:

php artisan serve

Nếu truy cập website không gặp lỗi kết nối Database, nghĩa là Laravel đã đọc đúng thông tin trong file .env.

Nếu cấu hình sai, bạn có thể gặp các lỗi như:

  • Access denied

  • Unknown database

  • Connection refused

Hãy kiểm tra lại tên database, tài khoản, mật khẩu hoặc dịch vụ MySQL đã được khởi động hay chưa.

Chú ý: phải Chạy Migration trước:

php artisan migrate

Migration là gì?

Trong Laravel, chúng ta không tạo bảng trực tiếp bằng phpMyAdmin.

Thay vào đó, Laravel sử dụng Migration để quản lý cấu trúc cơ sở dữ liệu bằng mã nguồn.

Có thể hiểu Migration giống như "phiên bản hóa" (version control) cho Database.

Mỗi thay đổi về bảng dữ liệu đều được lưu thành một file Migration, giúp dễ dàng theo dõi, chia sẻ và đồng bộ giữa các thành viên trong nhóm.


Thư mục Migration

Tất cả Migration được lưu tại:

database/
└── migrations/

Ngay khi tạo project Laravel, bạn sẽ thấy sẵn một số Migration như:

  • users

  • password_reset_tokens

  • cache

  • jobs

Đây là các bảng mặc định phục vụ hệ thống.


Chạy Migration đầu tiên

Laravel cung cấp Artisan để tạo toàn bộ bảng chỉ với một lệnh:

php artisan migrate

Khi chạy lệnh này, Laravel sẽ:

  1. Đọc toàn bộ file Migration.

  2. Tạo các bảng trong Database.

  3. Ghi lại lịch sử Migration vào bảng migrations.

Nếu thành công, bạn sẽ thấy các bảng mặc định xuất hiện trong Database.


Bảng migrations

Laravel tự động tạo bảng:

migrations

Bảng này dùng để lưu:

  • Migration nào đã chạy.

  • Thời điểm chạy.

  • Thứ tự chạy.

Nhờ đó Laravel biết file nào cần thực thi ở những lần tiếp theo và tránh chạy lặp lại.


Kiểm tra kết quả

Mở phpMyAdmin hoặc công cụ quản lý Database, bạn sẽ thấy các bảng như:

users

password_reset_tokens

sessions

cache

cache_locks

jobs

job_batches

failed_jobs

migrations

(Tùy theo phiên bản Laravel và các tùy chọn khi tạo dự án, danh sách bảng mặc định có thể khác nhau.)

Điều này cho thấy Laravel đã kết nối thành công với MySQL và thực hiện Migration.


Một số lệnh Migration hữu ích

Chạy Migration:

php artisan migrate

Quay lại lần Migration gần nhất:

php artisan migrate:rollback

Làm mới toàn bộ Migration:

php artisan migrate:fresh

Làm mới và chạy Seeder:

php artisan migrate:fresh --seed

Những lệnh này sẽ được sử dụng thường xuyên trong quá trình phát triển ứng dụng.


Lưu ý khi làm việc với Database

  • Không chỉnh sửa trực tiếp cấu trúc bảng trên môi trường phát triển nếu dự án đang sử dụng Migration.

  • Mọi thay đổi về Database nên được quản lý bằng Migration để đảm bảo tính đồng bộ.

  • Không chia sẻ file .env vì có thể chứa thông tin nhạy cảm như tài khoản và mật khẩu Database.

  • Thêm .env vào .gitignore khi làm việc với Git.


Tổng kết

Trong bài học này, chúng ta đã:

  • Hiểu vai trò của Database trong Laravel.

  • Tạo Database MySQL.

  • Cấu hình kết nối thông qua file .env.

  • Chạy Migration đầu tiên bằng Artisan.

  • Tìm hiểu bảng migrations.

  • Làm quen với các lệnh Migration cơ bản.

Ở bài tiếp theo, chúng ta sẽ đi sâu vào Migration, học cách tự tạo bảng, định nghĩa các kiểu dữ liệu, khóa ngoại (foreignId) và quản lý thay đổi cấu trúc cơ sở dữ liệu theo đúng quy trình phát triển chuyên nghiệp trong Laravel.

x1

quay về MỤC LỤC

Không có nhận xét nào:

Đăng nhận xét

Facebook Youtube RSS