Chào tất cả mọi người mình có 1 vấn đề mà đang gặp bế tắc chưa tìm ra giải pháp nào để giải quyết. Rất mong được mọi người chỉ giáo giúp để mình được khai sáng thêm.
Mình có tự mày mò làm 1 phần mềm quản lý nhỏ cho nội bộ phục vụ khoảng hơn 50 đơn vị. Phần mềm của mình thì vừa viết vừa hoàn thiện dần dần. Mình viết bằng C# và database SQLSERVER theo kiểu client server và dùng độc lập ở các đơn vị ( mỗi đơn vị chạy một server SQL ).
Ban đầu thì cũng nhỏ thôi nhưng theo thời gian và các yêu cầu nghiệp vụ, chính sách thay đổi liên tục nên đến bây giờ Database đã phình ra khoảng 1000 store procedure và 200 table. Sau mỗi lần thay đổi mình lại phải cập nhật lại: thêm trường thêm table, sửa hoặc thêm store procedure,triger sau đó đóng gói thành bản nâng cấp.
Vấn đề của mình là:
- Với mỗi lần nâng cấp nhỏ thì mình viết script sql để kiểm tra sự thay đổi của Database để cập nhật.
- Còn mỗi lần nâng cấp lớn mình tại phải backup DB của từng đơn vị về rồi dùng tính năng schema compare của VS 2010 để cập nhật DB.
Với yêu cầu ngày cành ra tăng và các đơn vị lại ngày cành thêm mới thì mình thực sự đang bị quá tải trong việc hỗ trợ và nâng cấp theo cách mình làm ở trên.
Mình thì từ trước tới giờ chưa từng làm ở bên ngoài các công ty phần mềm nào vì vậy cũng không biết cách mà các công ty họ giải quyết vấn đề này như thế nào. VD: Misa, SAP, Fast, Kiot Việt… họ sử dụng giải pháp nào để cập nhật DB mỗi khi phát hành phiên bản mới.
Hôm nay mạn phép gửi câu hỏi này rất mong mọi người chia sẻ giúp mình biết giải pháp khi gặp vấn đề tương tự như mình. Mình xin cảm ơn rất nhiều.