如何使用Fluent Migrator更改表定义

时间:2013-06-06 10:22:58

标签: fluent-migrator

我正在尝试自己研究Fluent Migrator,我遇到了一个问题,我需要更改由Fluent迁移器创建的表的结构,这意味着我使用以下代码创建了一个名为user的表

 [Migration(201306041130)]
    public class BussinessMigrator : Migration
    {
        public override void Up()
        {
            Create.Table("user")
                .WithColumn("id").AsInt32().PrimaryKey().NotNullable().Identity()
                .WithColumn("name").AsString().NotNullable()
                .WithColumn("email_id").AsString().NotNullable()
                .WithColumn("phone").AsInt32().NotNullable()
                .WithColumn("address").AsString().NotNullable()
                .WithColumn("company_id").AsInt32().NotNullable();
        }

    }

现在我需要在列名后添加3个名为avatar_name,avatar_type,avatar_data的coloums,我该怎么做才能回答一个例子

提前致谢

1 个答案:

答案 0 :(得分:5)

有两种方法可以做到这一点。使用Alter.Table表达式或Create.Column表达式。

以下是来自Alter.Table的wiki的示例:

Alter.Table("Bar")
    .AddColumn("SomeDate")
    .AsDateTime()
    .Nullable();

这是Create.Column的一个例子:

Create.Column("avatar_name")
    .OnTable("user")
    .AsString()
    .Nullable();

通常使用FluentMigrator,您可以依靠Intellisense来帮助您。例如,如果您首先键入Create和dot,则Intellisense应显示Column,ForeignKey,Index,PrimaryKey,Schema,Sequence,Table和UniqueConstraint。大多数情况下,这个过程应该是非常容易发现的。

您可以从七个根开始:创建,更改,删除,执行,重命名,插入和更新。