Với Migration sau:FluentMigrator quay trở lại cột Không gọn gàng?
[Migration(1)]
public class Mig001 : Migration
{
public override void Up()
{
Alter.Table("foo").AlterColumn("bar").AsInt32().Nullable();
}
public override void Down()
{
Alter.Table("foo").AlterColumn("bar").AsInt32().NotNullable();
}
}
Các migrator làm thay đổi một cột và làm cho nó nullable và trên rollback nó ngược lại và làm cho nó không nullable một lần nữa.
Cho phép dữ liệu nói đã được thêm vào foo
kể từ khi di chuyển; hiện có các hàng có null trong cột bar
.
Nếu nó được khôi phục thì thao tác sẽ không thành công, có cách nào trong trình xử lý thông thạo để xử lý trường hợp này không? Hoặc thực hành tốt nhất là gì.
tôi đoán rằng sẽ không hoạt động nếu 'bar' là một cột khóa ngoại? Phương thức Down có thể để trống không? – user1838662
Nếu đó là cột khóa ngoài thì truy vấn sql sẽ phải thông minh hơn một chút và tìm giá trị đúng để đặt. Hay bạn có một giá trị khóa ngoài mà sẽ hoạt động như một giá trị mặc định? –
Rất tiếc, không có giá trị khóa ngoại mặc định. '0' Sẽ trỏ đến một bản ghi trong bảng cha không tồn tại. – user1838662