Search code examples
fluent-migrator

Is it possible to set column default to SQL Server's NewId()?


In fluentMigrator, is it possible to set a column default to a function?

Specifically, I'm adding a uniqueidentifier (Guid) column to a SQL Server 2008 table that already contains data, and it's going to be a required field - is it possible to set the default to the NewId() function?


Solution

  • Field defaults for NewId() and GetDate() are available (for SQL Server at least) by referring to either SystemMethods.NewGuid or SystemMethods.CurrentDateTime, for example:

    Create
        .Column("incomeIdGuid").OnTable("tblIncome")
        .AsGuid()
        .NotNullable()
        .WithDefaultValue(SystemMethods.NewGuid);