Xin chào mọi nguời ,
Trong quá trình làm đồ án tốt nghiệp em có dùng tính năng tự động generate các bảng trong DB từ các entity trong Java.Và em thường hay bị mắc lỗi là để giá trị của dòng spring.jpa.hibernate.ddl-auto= create khiến cho dữ liệu trong DB bị mất hết .Đối với dữ liệu test trong đồ án của em thì việc mất mát dữ liệu thì không thành vấn đề nhưng em nghĩ đối với dự án thật thì sẽ có vấn đề rất nghiêm trọng.Cho xin phép hỏi là :
- Trong dự án thực tế thì người ta có sử dụng spring.jpa.hibernate.ddl-auto không ạ ? Vì em thấy khi dùng cái này thì khả năng bị mặc lỗi và mất mát dữ liệu cũng có % thể xảy ra.
- Ở dự án thức tế thì ngoài cách kiểm tra cẩn thận trước khi làm 1 việc gì đó thì có cách nào để tránh mất toàn bộ dữ liệu kiểu như trên không ạ?
Em cám ơn ạ !
1. Trong dự án thực tế không bao giờ dùng
spring.jpa.hibernate.ddl-auto
em ạ2. Các dự án có sử dụng database đều phải phân quyền cẩn thận. Đa phần các tài khoản cấp cho code thường chỉ có chức năng insert, update, query mà không cho phép tạo bảng, xoá bảng hay delete em ạ. Ngoài ra phải có những bản backup db liên tục, tối đa phải là 7 ngày, tối thiểu có thể là 1 ngày hoặc 1 tiếng.
theo e hiểu thì hình như cái này gọi là sync database với model phải không a ? nếu vậy thì khi sửa đổi db thì bên spring có tạo migration r chạy migrate như các fw khác k hay làm thế nào vậy ạ
1. Kiểu vậy em ạ
2. Anh có làm 1 dự án gen code java từ database, còn lại chưa làm dự án nào mà từ code java ddl-auto ra database cả em ạ. Vì nó quá rủi ro, nếu dev vô tình code sai có thể bị mất bảng thận chí mất cả database luôn.
Dạ cám ơn anh rất nhiều về câu trả lời ạ.
Trong câu trả lời của anh có câu là “update DB liên tục…” cho em hỏi cái này theo em hiểu là backup data đúng không ạ ?
Ừ, đúng rồi em ạ, anh gõ nhầm em ạ 😀