Sunday, 7 August 2016

[Django] dùng cùng 1 database cho dev, test và production

Đây không phải là điều gì mới lạ, cũng không giành riêng cho django.

Nhưng sự hấp dẫn của SQLite -  đơn giản - không phải cài đặt cấu hình - là một nguyên nhân khiến các developer vẫn dùng nó trong môi trường dev phần mềm trên máy họ, khi mà ở production lại dùng database khác - như PostgreSQL.

Kết hợp với sức mạnh che giấu bên dưới của ORM, không ai nhận ra sự khác biệt, cho đến một ngày (sau 1 - 2 tháng trời không có gì xảy ra)...
Lệnh migrate trên CI server fail mà ở trên máy vẫn chạy, khiến developer mất vài tiếng
để tìm ra nguyên nhân và khắc phục - chuyện mà nếu như từ đầu, cùng dùng một database, sẽ không
bao giờ xảy ra.

Bài học: các môi trường dev - testing - staging - production, càng giống nhau, càng tốt 😝🤑

PS: chiến dịch ngày nào cũng viết một cái gì đó đã quay trở lại, không đảm bảo lợi hại như xưa 😂