Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Xử lý các thay đổi Cơ sở dữ liệu giữa các nhánh phiên bản / khôi phục trong ASP.NET

Một cách tốt để theo dõi các thay đổi giản đồ trên nhiều nhánh của dự án phát triển là tuân theo tái cấu trúc cơ sở dữ liệu quá trình. Trong số các lợi ích khác, loại quy trình này kết hợp việc sử dụng các tập lệnh di chuyển và delta để áp dụng các thay đổi giản đồ cho từng môi trường (hoặc nhánh trong trường hợp của bạn). Thiết lập có thể trông giống như sau:

main
  src <-- ASP.NET project source
  db <-- Database create scripts
  delta <-- Database change scripts (SQL delta files)

branch
  src
  db <-- usually has the same contents as the copy in main branch
  delta <-- only the changes necessary for this branch

Mỗi khi bạn cần thay đổi lược đồ cơ sở dữ liệu cho một nhánh cụ thể, bạn tạo một tập lệnh SQL delta được sử dụng để áp dụng thay đổi. Để dễ dàng hơn, tôi khuyên bạn nên đặt tên cho mỗi tệp kịch bản để bao gồm ngày và giờ tạo để giữ chúng theo trình tự. Ví dụ sẽ là:

201102231435_addcolumn.sql
201102231447_addconstraint.sql
201103010845_anotherchange.sql

Thêm tệp delta vào kiểm soát nguồn trong nhánh cần thực hiện thay đổi giản đồ. Bạn nên kết thúc với mỗi nhánh chứa chính xác những gì cần thiết để thay đổi cơ sở dữ liệu tương ứng. Một số chi tiết có thể cần được điều chỉnh cho trường hợp của bạn tùy thuộc vào những thứ như sơ đồ phân nhánh của bạn và cơ sở dữ liệu của bạn có được bảo tồn trong quá trình phát hành hay không (trái ngược với việc được tạo lại).

Cuối cùng, để cố gắng làm cho những khái niệm này trở nên đơn giản, tôi muốn giới thiệu một công cụ để giúp quản lý quy trình. Đề xuất của tôi là hãy xem DBDeploy / DBDeploy.NET . Tôi đã vui vẻ sử dụng nó trong nhiều năm cho tất cả các dự án của mình.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tốt để sử dụng bí danh bảng trong câu lệnh Cập nhật?

  2. Sao chép lập trình các chỉ mục từ bảng này sang bảng khác trong SQL Server

  3. Sử dụng varchar (MAX) so với TEXT trên SQL Server

  4. Cách tạo Ràng buộc khóa ngoại trên nhiều cột trong SQL Server - Hướng dẫn sử dụng SQL Server / TSQL Phần 67

  5. Linq:Sắp xếp theo ngày khi nó được lưu trữ dưới dạng văn bản