Giới thiệu

Đã hoàn thành

Quy trình triển khai thủ công cho các thay đổi cơ sở dữ liệu diễn ra chậm và dễ xảy ra lỗi. Ai đó viết một tập lệnh, gửi email cho quản trị viên cơ sở dữ liệu và đợi nó được chạy trong khoảng thời gian bảo trì. Nếu có sự cố, việc khôi phục rất khó vì không ai theo dõi trạng thái chính xác của lược đồ trước khi thay đổi. Trong khi đó, các nhà phát triển làm việc trên các tính năng khác nhau ghi đè lên các thay đổi của nhau vì không có quy trình làm việc có cấu trúc cho mã cơ sở dữ liệu.

Hãy tưởng tượng một nhóm quản lý một ứng dụng thương mại điện tử trên Cơ sở dữ liệu Azure SQL. Ba nhà phát triển đang thêm các tính năng yêu cầu thay đổi lược đồ. Một bảng thêm một danh mục sản phẩm mới, một bảng khác sửa đổi các thủ tục lưu trữ xử lý đơn hàng và thứ ba cập nhật các chế độ xem tra cứu của khách hàng. Nếu không có kiểm soát nguồn, quy trình CI/CD và kiểm tra tự động, những thay đổi này sẽ va chạm. Một hotfix được áp dụng trực tiếp cho sản xuất không đồng bộ với môi trường phát triển. Việc triển khai ghi đè lên hotfix, gây ra sự cố ngừng sản xuất trong giờ cao điểm.

Dự án cơ sở dữ liệu SQL và đường ống CI / CD giải quyết những vấn đề này bằng cách xử lý mã cơ sở dữ liệu với mức độ nghiêm ngặt tương tự như mã ứng dụng. Bạn kiểm soát phiên bản mọi đối tượng, tự động hóa các bản dựng và triển khai, phát hiện khi cơ sở dữ liệu trực tiếp bị trôi khỏi dự án và kiểm tra các thay đổi trước khi chúng được đưa vào sản xuất.

Sau khi hoàn thành mô-đun này, bạn có thể:

  • Tạo, xây dựng và xác thực các mô hình cơ sở dữ liệu bằng cách sử dụng Dự án cơ sở dữ liệu SQL, bao gồm cả kiểu SDK.
  • Đặt cấu hình kiểm soát nguồn cho Dự án cơ sở dữ liệu SQL và quản lý dữ liệu tham chiếu với các tập lệnh trước và sau triển khai.
  • Quản lý phân nhánh, yêu cầu kéo và giải quyết xung đột cho mã cơ sở dữ liệu.
  • Phát hiện sự trôi dạt lược đồ bằng cách sử dụng các công cụ so sánh lược đồ và SqlPackage.
  • Triển khai quy trình CI/CD với GitHub Actions và Azure DevOps, bao gồm quản lý bí mật và kiểm soát triển khai.
  • Thiết kế và triển khai chiến lược kiểm thử với kiểm thử đơn vị và kiểm thử tích hợp.