场景:在已经存在的Sqlite表(也存在数据)中增加不可为空的字段,使用EF自动迁移,默认迁移会报错:Cannot add a NOT NULL column with default value NULL
解决方法:使用执行SQL的方式增加表字段
public partial class InitSqlite : DbMigration
{
public override void Up()
{
//屏蔽的两种方式迁移都不能成功
//AddColumn("dbo.Test1", "AddItem1", c => c.Int(nullable: false, defaultValueSql: "0"));
//AlterColumn("dbo.Test1", "AddItem1", c => c.Int(nullable: false));
Sql("ALTER TABLE Test1 ADD AddItem1 int not null default 0");
}
public override void Down()
{
DropColumn("dbo.Test1", "AddItem1");
}
}