Hi cả nhà,
Mình đang làm một sản phẩm bằng flask và có sử dụng thư viện Sql Alchemy để tương tác với database. Hiện mình đang qua giai đoạn phát triển sản phẩm nhưng đang gặp phải vấn đề khi mình thay đổi cấu trúc cơ sở dữ liệu thì nó sẽ xử lý như thế nào. Ví dụ ở version 1.0 mình có cấu trúc database gồm 10 bảng đi, lên ver 2 còn 9 bảng, thay đổi 1 chút về khoá chính khoá ngoại, thêm sửa 1 số cột. Vấn đề là làm sao để mình có thể thực hiện thay đổi đó cho người dùng đang dùng ver 1.0 nhỉ ?
Mình muốn giữ lại data nhiều nhất có thể. Khi người dùng nâng lên 2.0 nó sẽ tự detect và update database schema sao nó chạy được với ver 2.0 luôn và mất mát data ít nhất có thể ấy. Các table, các column không bị ảnh hưởng vẫn giữ được data của nó.
Mình thấy nếu như dùng lệnh sql để update cũng được nhưng sẽ thế nào khi mình khi một người V1 muốn upgrade trực tiếp lên V5 ? Không biết có thư viện hoặc biện pháp nào hay để xử lý case của mình không mọi người nhỉ?
Cảm ơn cả nhà.