Tóm tắt nhanh:
ak-databasesthiết kế schema, viết truy vấn, thêm index, viết migration và lo backup cho MongoDB hoặc PostgreSQL mà project đang chạy. Nó xếp mỗi việc vào 1 trong 4 loại thao tác, đòi bằng chứng riêng cho từng loại, rồi dừng, không chuyển cho skill nào. Nó không đổi DB của bạn nếu bạn không yêu cầu.
Công khai: mình là maintainer của AgentKit và có quan hệ affiliate: link AgentKit trong bài là link affiliate, mua qua link này bạn được giảm 30%.
Tóm tắt
Dùng khi việc chính nằm ở DB: thiết kế bảng mới, sửa truy vấn chậm, viết aggregation báo cáo, migration có ghi dữ liệu, backup hay restore. Không hợp nếu bạn mong nó tự chuyển sang DB khác: nó giữ DB đang dùng, trừ khi bạn nói rõ muốn đổi.
flowchart LR
A["Việc DB: schema, truy vấn, index, migration, backup"] --> B["ak-databases"]
B --> C["Kết quả kèm bằng chứng theo loại thao tác"]
C --> D["Dừng, không chuyển skill nào"]Bốn điều nó luôn bám vào:
| Khái niệm | Câu hỏi | Ví dụ |
|---|---|---|
| Giữ DB đang dùng | Project đang chạy DB nào, bản nào? | Project dùng PostgreSQL 16 thì skill chỉ mở tài liệu PostgreSQL và không gợi ý chuyển sang MongoDB, trừ khi bạn yêu cầu đổi. |
| Loại thao tác | Việc này chỉ đọc, đổi hiệu năng, ghi dữ liệu, hay sao lưu và quản trị? | "Thêm index cho bảng orders" là đổi hiệu năng. "Điền cột phone từ bảng contacts" là ghi. "Khôi phục backup vào staging" là quản trị. |
| Bằng chứng theo loại | Phải có gì mới được coi là xong? | Đổi hiệu năng: kế hoạch truy vấn và số liệu trước, sau. Migration: bản sao phần sắp ghi, đường rollback, chạy lại không hỏng. Restore: đúng đích, kiểm lại sau khi khôi phục. |
| Mô hình theo cách dùng dữ liệu | Dữ liệu được đọc và ghi thế nào? | Ghi nhiều, ràng buộc chặt (OLTP) thì bảng chuẩn hoá. Báo cáo quét nhiều (OLAP) thì tách fact và dimension. Dữ liệu lớn dần không giới hạn thì tách ra, tham chiếu. |
Lưu ý: EXPLAIN ANALYZE chạy thật truy vấn, nên khi tối ưu, hãy để nó chạy trên bản sao thay vì production.
Prompt mẫu (truy vấn chậm):
/ak-databases Trang danh sách đơn hàng của <tên app> mất khoảng 3 giây.
Truy vấn: SELECT * FROM orders WHERE customer_id = $1 ORDER BY created_at DESC LIMIT 20
Ràng buộc: DB production là PostgreSQL, chỉ chạy EXPLAIN ANALYZE trên bản sao staging.
Xong khi: có kế hoạch truy vấn trước và sau, thời gian giảm rõ.Skill này không có cờ.
Phần dưới đây là bản chi tiết: luồng chạy, 5 tình huống kèm prompt, lịch sử thay đổi theo bản ak và các lỗi hay vấp. Bản chi tiết và trang trực quan dành cho subscriber. Agent của bạn cũng tìm được trong đó qua MCP của portal.
Mở khi tài khoản có quyền subscriber
Bài này dành cho subscriber
Khi tài khoản có quyền, toàn bộ bài, bản visual tương tác và lệnh gọi từ agent đều mở.
- Đăng nhập hoặc tạo tài khoản modernEngineerQuyền đọc gắn với email tài khoản.
- Chọn gói trên trang Bảng giáGói 1, 3 hoặc 12 tháng, trả bằng chuyển khoản VietQR. Quyền đọc mở khoảng một phút sau khi tiền về.
- Hoặc nhập mã Facebook subscriberNgười ủng hộ trang qua Facebook nhận mã kích hoạt qua tin nhắn mỗi tháng.
Đã là subscriber? Đăng nhập để đọc.
Dùng bài này trong agent của bạn
Lấy API keyChép đoạn dưới, dán vào Claude Code, Codex hay agent bạn đang dùng. Agent đọc bài rồi đối chiếu với repo đang mở.
Đọc bài "ak-databases: làm schema, truy vấn, migration cho MongoDB, PostgreSQL" trên modernEngineer rồi áp dụng vào repo này.
1. Gọi tool content_get của MCP server modernengineer với locale "vi", slug "ak-databases". Nếu chưa nối MCP server modernengineer, dừng lại và hướng dẫn tôi nối theo https://modernengineer.dev/vi/mcp.
2. Tóm tắt các bước chính của bài, chỉ ra bước nào áp dụng được cho repo này.
3. Đề xuất thay đổi cụ thể và hỏi tôi trước khi sửa file.Nối MCP cho Claude Code (một lần)
claude mcp add --transport http modernengineer \
https://api.modernengineer.dev/mcp \
--header "Authorization: Bearer <API key>"Đọc trọn bài qua MCP cần API key của tài khoản subscriber hoặc đã mua guide này. Không có quyền, agent sẽ chỉ đọc được phần mở đầu.
- Phiên bản
- v1.0.0
- Cập nhật
- 22/10/2026
- Giấy phép
- Bảo lưu mọi quyền
- Slug
- ak-databases


