Phiên bản seed-do v4.0.0 chính thức ra mắt: Tối ưu hiệu năng với tính năng Bulk UPSERT

06 tháng 4, 2026·2 phút đọc

seed-do, công cụ seeding phổ biến cho Ruby on Rails, đã phát hành phiên bản v4.0.0 với cải tiến hiệu năng đáng kể. Bản cập nhật mới hỗ trợ thao tác UPSERT hàng loạt giúp tốc độ nạp dữ liệu nhanh hơn, mặc dù chỉ tương thích với PostgreSQL và SQLite.

Phiên bản seed-do v4.0.0 chính thức ra mắt: Tối ưu hiệu năng với tính năng Bulk UPSERT

Phiên bản seed-do v4.0.0 chính thức ra mắt: Tối ưu hiệu năng với tính năng Bulk UPSERT

seed-do, một thư viện được fork từ seed-fu để tương thích với các phiên bản Ruby và Rails mới nhất, vừa tung ra bản cập nhật lớn v4.0.0. Phiên bản này tập trung vào việc cải thiện hiệu suất xử lý dữ liệu, mang lại tốc độ nhanh hơn cho các nhà phát triển.

Thay đổi chính

Điểm nổi bật nhất trong phiên bản này là sự bổ sung tính năng ghi hàng loạt (bulk upsert). Người dùng nay có thể sử dụng lệnh SeedDo.seed(bulk: true) để thực hiện thao tác UPSERT hàng loạt dữ liệu thông qua phương thức upsert_all có sẵn trong Rails. Chi tiết về thay đổi này có thể xem tại Pull Request #26 trên kho GitHub của dự án.

Với đại đa số người dùng, việc đơn giản thay thế SeedDo.seed bằng SeedDo.seed(bulk: true) sẽ giúp quá trình seeding (nạp dữ liệu) diễn ra nhanh hơn đáng kể.

Tuy nhiên, cần lưu ý rằng do tính năng này sử dụng tùy chọn :unique_by của upsert_all, nó hiện tại chỉ hoạt động trên các cơ sở dữ liệu PostgreSQLSQLite. Các nhà phát triển sử dụng MySQL sẽ chưa thể tận dụng được tính năng mới này.

Đồng thời, trong quá trình tích hợp tính năng mới, tôi đã tái cấu trúc API nội bộ của thư viện. Điều này dẫn đến những thay đổi không tương thích ngược (breaking changes), buộc phải nâng cấp phiên bản chính (major version) lên v4.0.0. Nếu bạn không sử dụng API nội bộ, việc cập nhật này sẽ không gây ảnh hưởng đến bạn.

Tác giả rất mong muốn nhận được phản hồi từ cộng đồng người dùng sau khi thử nghiệm phiên bản mới.

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗