这两个方法都是用于在数据库中添加列的。但是它们的使用场景略有不同。在 FluentMigrator 中,Alter.Table().AddColumn() 用于在现有的表中添加列,而 Create.Column().OnTable() 则用于创建一个新表并向其中添加列。
示例代码:
// 使用 Alter.Table().AddColumn() 方法在现有的表中添加列
[Migration(1)]
public class AddNewColumnToExistingTable : Migration
{
public override void Up()
{
Alter.Table("Users").AddColumn("Age").AsInt32().NotNullable();
}
public override void Down()
{
Delete.Column("Age").FromTable("Users");
}
}
// 使用 Create.Column().OnTable() 方法创建新表并添加列
[Migration(2)]
public class CreateTableWithNewColumn : Migration
{
public override void Up()
{
Create.Table("Products")
.WithColumn("Id").AsInt32().PrimaryKey().Identity()
.WithColumn("Name").AsString(50).NotNullable()
.WithColumn("Price").AsDecimal(8, 2).NotNullable();
}
public override void Down()
{
Delete.Table("Products");
}
}
在第一个示例中,我们使用 Alter.Table().AddColumn() 方法向现有的 Users 表中添加一个名为 Age 的列。在第二个示例中,我们使用 Create.Column().OnTable() 方法创建一个名为 Products 的新表,并向其中添加 Id、Name 和 Price 列。
上一篇:ALTER TABLE和EDIT SCHEMA之间的BigQuery权限不同。
下一篇:Alter.Table().AddColumn()和Create.Column().OnTable()之间有什么区别?