PostgreSQL: Không Còn Là Nỗi Sợ
Trước đây, database là lãnh địa của Backend Engineer. Viết SQL query, migration, triggers... nghe là thấy đau đầu. Với Replit + Supabase (hoặc Replit DB), bạn điều khiển Database bằng tiếng Anh.
Bước 1: Kết nối Supabase
Replit có tích hợp sâu với Supabase, nhưng cách thủ công và chắc chắn nhất vẫn là qua biến môi trường (Environment Variables).
- Lấy
SUPABASE_URLvàSUPABASE_ANON_KEYtừ Dashboard Supabase. - Add vào Replit Secrets.
- Prompt: "Tạo file
@lib/supabase.tsđể khởi tạo Supabase client từ biến môi trường. Đảm bảo dùng Singleton pattern nếu cần thiết."
Bước 2: Thiết kế Schema bằng "Văn nói"
Đừng viết CREATE TABLE bằng tay. Hãy mô tả dữ liệu bạn muốn.
Prompt: "Tôi cần thiết kế database cho ứng dụng LMS. Hãy tạo file SQL migration để tạo các bảng sau:
users: Kế thừa từ auth.users, thêm trườngfull_name,avatar_url.courses: Cótitle,slug,price,instructor_id.lessons: Thuộc về courses, cóvideo_url,content(markdown).- Thiết lập Foreign Keys và Row Level Security (RLS) để chỉ user đã mua khóa học mới xem được bài học."
Bước 3: Thực thi Migration
Agent có thể viết file .sql cho bạn. Nhưng nó (thường) không có quyền chạy lệnh trực tiếp lên Production DB của Supabase (để an toàn).
- Cách 1: Copy code SQL Agent viết -> Paste vào SQL Editor trên Dashboard Supabase.
- Cách 2: (Advanced) Setup Supabase CLI trên Replit để chạy
supabase db push(Hơi phức tạp cho beginer, khuyến khích cách 1).
Bước 4: Hydrate Data (Tạo dữ liệu giả)
App trống trơn nhìn rất chán và khó test UI. Prompt: "Hãy viết một script SQL để insert 5 khóa học mẫu và 20 bài học mẫu vào database. Dùng dữ liệu tiếng Việt, nội dung hấp dẫn về lập trình."
🛡 Security First: Luôn nhắc Agent về RLS (Row Level Security). "Đừng quên bật RLS". Một database không RLS là một miếng mồi ngon cho hacker. Đừng bao giờ trust client side.
