Trong quá trình phát triển đồ án hoặc xây dựng ứng dụng web, việc thêm dữ liệu mẫu (seed data) vào cơ sở dữ liệu giúp việc kiểm thử, trình diễn chức năng và phát triển trở nên thuận tiện hơn. Thay vì phải nhập thủ công, có thể sử dụng file SQL seed để tự động hóa quá trình chèn dữ liệu.
Bài viết này hướng dẫn cách tạo và chạy file SQL seed để thêm dữ liệu mẫu vào cơ sở dữ liệu một cách nhanh chóng và hiệu quả.
Seed data là gì và tại sao nên dùng?
Seed data là tập hợp các dữ liệu khởi tạo (dữ liệu mẫu) được đưa vào cơ sở dữ liệu ngay từ đầu. Loại dữ liệu này thường bao gồm:
-
Người dùng mẫu
-
Sản phẩm mẫu
-
Danh mục, vai trò người dùng
-
Bài viết thử, đơn hàng mẫu, v.v.
Sử dụng seed data mang lại nhiều lợi ích:
-
Giúp hiển thị đầy đủ chức năng khi demo đồ án
-
Hỗ trợ kiểm thử logic ứng dụng mà không cần tạo dữ liệu thủ công
-
Dễ tái sử dụng khi làm việc nhóm hoặc deploy sang môi trường khác
Lên kế hoạch dữ liệu seed phù hợp
Trước khi bắt tay vào viết file SQL, cần xác định rõ bảng nào cần dữ liệu mẫu, số lượng bản ghi hợp lý và mối quan hệ giữa các bảng. Dữ liệu seed không nên quá nhiều, nhưng đủ để thể hiện luồng chính của hệ thống.
Một số loại dữ liệu thường được seed trong đồ án:
-
Người dùng (users): với tên, email, mật khẩu giả lập
-
Vai trò (roles) hoặc quyền truy cập
-
Sản phẩm (products) nếu là đồ án thương mại điện tử
-
Bài viết (posts) trong ứng dụng blog
-
Đơn hàng (orders), bình luận (comments), thể loại (categories),…
Mẹo: Chỉ seed dữ liệu tĩnh, không nên seed dữ liệu phát sinh liên tục hoặc liên quan đến bảo mật (ví dụ: mật khẩu thật, token thật, dữ liệu cá nhân thật,…).
Cách tạo file seed dạng SQL thủ công
Một file seed đơn giản có thể chỉ là một tập tin .sql chứa các lệnh INSERT.
Ví dụ: tạo file seed.sql cho bảng users và products:
-- Seed dữ liệu cho bảng users INSERT INTO users (id, name, email) VALUES (1, 'Nguyen Van A', 'a@example.com'), (2, 'Tran Thi B', 'b@example.com'), (3, 'Le Van C', 'c@example.com'); -- Seed dữ liệu cho bảng products INSERT INTO products (id, name, price, stock) VALUES (1, 'Áo thun', 150000, 10), (2, 'Quần jeans', 300000, 5), (3, 'Giày sneaker', 700000, 8);
Sau khi tạo file, có thể chạy lệnh để thực thi file này vào database.
Cách chạy file seed vào cơ sở dữ liệu
Với PostgreSQL
Sử dụng dòng lệnh psql:
psql -U postgres -d ten_database -f seed.sql
Ví dụ:
psql -U postgres -d doan_cuoiky -f seed.sql

