Tôi làm việc cho một nhóm gồm 4 nhà phát triển sử dụng EF5, mọi người làm việc trên cơ sở dữ liệu cục bộ của họ. Cho đến bây giờ, chúng tôi đã sử dụng tính năng di chuyển tự động nhưng chúng tôi đang đến gần nơi chúng tôi cần phát hành để sản xuất, vì vậy, chúng tôi đã vô hiệu hóa việc di chuyển tự động và bắt đầu thêm các lần di chuyển dựa trên mã rõ ràng.Update-Database cố gắng thực hiện di chuyển tự động ngay cả khi tự động di chuyển bị vô hiệu hóa
Đây là vấn đề: Tôi chạy lệnh Update-Database
sau khi một nhà phát triển tạo ra một sự chuyển đổi rõ ràng mới và tôi nhận được lỗi sau:
Applying code-based migrations: [201209080142319_CreatedDate.LastModifiedDate.Additions].
Applying code-based migration: 201209080142319_CreatedDate.LastModifiedDate.Additions.
Applying automatic migration: 201209080142319_CreatedDate.LastModifiedDate.Additions_AutomaticMigration.
Automatic migration was not applied because it would result in data loss.
Tại sao tôi nhận được lỗi này mặc dù tôi đã di cư tự động khuyết tật ? Tôi có thể sửa lỗi này bằng cách xóa di chuyển rõ ràng và sau đó tái dàn dựng nó (chạy Add-Migration
). Sau đó, Update-Database
chạy tốt và không đề cập đến bất kỳ điều gì về 'Tự động di chuyển ...' Ngoài ra, mã trong quá trình di chuyển do tôi tạo khi tôi chạy Add-Migration giống với mã được tạo bởi đồng đội của tôi. Tôi không thấy lý do tại sao nó thậm chí sẽ cố gắng thực hiện di chuyển tự động kể từ AutomaticMigrationsEnabled = false;
.
Tôi thiếu gì ở đây?
Câu hỏi này là về EF áp dụng di chuyển tự động ngay cả khi chúng bị vô hiệu hóa rõ ràng. Tôi không bao giờ muốn di chuyển tự động chạy và tôi đặc biệt không muốn EF tự động mất dữ liệu của mình. –