10

Chúng tôi đang sử dụng mã di chuyển đầu tiên để giữ cho cơ sở dữ liệu và mô hình của chúng tôi được đồng bộ hóa. Hiện tại, chúng tôi có số phiên bản là tên cho quá trình di chuyển mà không rõ ràng. Vấn đề là nhiều di chuyển có cùng tên được tạo bởi các nhà phát triển khác nhau độc lập với nhau đối với cơ sở dữ liệu cục bộ của họ. Điều này dẫn đến một số hành vi kỳ lạ khi IMigrationMetadata.Id khác nhau vì dấu thời gian nhưng các lớp là một phần có cùng tên.Quy ước đặt tên cho di chuyển Mã đầu tiên

Cách để gọi những di chuyển này là gì? Các ví dụ luôn được đơn giản hóa quá mức: ví dụ: thêm thuộc tính Readers dẫn đến việc di chuyển AddReaders.

Hoặc các di chuyển có bị chia nhỏ thành những thay đổi nhỏ này không? Thay vì tích lũy tất cả những thay đổi thành một sự di cư lớn. Nếu có phụ thuộc thì sao?

Trả lời

0

Tôi đã đấu tranh với cùng một vấn đề và thử các giải pháp khác nhau. Những gì chúng tôi đã đưa ra cho đến nay là để tất cả các nhà phát triển loại trừ việc di chuyển khỏi quá trình kiểm tra và sau đó có một nhà phát triển được chỉ định thực hiện "di chuyển phát hành" bao gồm những thay đổi từ tất cả những người khác làm việc trên dự án.

1

Có, tôi nghĩ cách tốt nhất là chia nhỏ các thay đổi cho các đơn vị nhỏ, với các tên mô tả. Như với git, nơi bạn nên cam kết thường xuyên, với việc di chuyển, bạn nên di chuyển thường xuyên. Không nhất thiết là tài sản của tài sản, nhưng có chứa một đơn vị hợp lý của công việc.

Giống như nếu bạn cần thêm hai bảng cho một số đối tượng địa lý, hãy thêm hai bảng đó vào một lần di chuyển. Tránh thực hiện di chuyển lớn nơi công việc của bạn trong nhiều ngày thay đổi mô hình trước khi tạo di chuyển. Thời gian là điều cần thiết để tránh xung đột.

Nếu có phụ thuộc, một di chuyển phải chứa các thay đổi có liên quan, vì vậy nếu nhà phát triển khác áp dụng di chuyển, ứng dụng vẫn hoạt động.

Khi nhà phát triển thực hiện di chuyển, nó phải được cam kết và đồng bộ hóa ngay lập tức (được chia sẻ với các nhà phát triển khác, trong trường hợp bạn không sử dụng git).

Khi bạn làm việc với các đơn vị thay đổi nhỏ, việc hợp nhất và giải quyết xung đột trở nên dễ dàng hơn nhiều.

Các vấn đề liên quan