流利的移民.如何使用默认值作为当前日期添加datetime列?

Set*_*eth 16 fluent-migrator

如何使用当前日期时间的默认日期时间值更改流畅迁移中的列?

所以我需要这样的smth:

ALTER TABLE database ADD column DATETIME DEFAULT GETDATE() NOT NULL;

仅适用于流利的迁移.谢谢.

Chr*_*sic 12

看作答案实际上并不包含任何代码:

Create.Table(nameof(Report))
      .WithColumn(nameof(Report.Id)).AsInt32().NotNullable().PrimaryKey().Identity()
      .WithColumn(nameof(Report.CreatedAt)).AsDateTime().Nullable()
                                           .WithDefault(SystemMethods.CurrentDateTime);
Run Code Online (Sandbox Code Playgroud)

WithDefault(SystemMethods)方法是solutoin.


Dan*_*Lee 9

您可能已经在wiki上找到了SystemMethods的文档.我刚刚更新了它,以便它反映了最新版本的FluentMigrator.

只是想指出这些是特定于数据库的,只有Sql Server实现了所有五个SystemMethods.这使得您的迁移不再具有可移植性,因为它不再是生成的标准sql,并且其他数据库不支持某些SystemMethod(例如,在MySql中似乎不可能使用CurrentUser).

如果您发现需要其他任何人,那么请在FluentMigrator的Github网站上将其记录为问题,我们将尝试添加它.