如何使用当前日期时间的默认日期时间值更改流畅迁移中的列?
所以我需要像这样的人:
ALTER TABLE database ADD column DATETIME DEFAULT GETDATE() NOT NULL;
仅适用于流畅的迁移。感谢。
答案 0 :(得分:11)
看作答案实际上并不包含任何代码:
Create.Table(nameof(Report))
.WithColumn(nameof(Report.Id)).AsInt32().NotNullable().PrimaryKey().Identity()
.WithColumn(nameof(Report.CreatedAt)).AsDateTime().Nullable()
.WithDefault(SystemMethods.CurrentDateTime);
WithDefault(SystemMethods)
方法是solutoin。
答案 1 :(得分:6)
您可能已经找到了SystemMethods on the wiki的文档。我刚刚更新了它,以便它反映了最新版本的FluentMigrator。
只是想指出这些是特定于数据库的,只有Sql Server实现了所有五个SystemMethods。这使得您的迁移不再具有可移植性,因为它不再是生成的标准sql,并且其他数据库不支持某些SystemMethod(例如,在MySql中似乎不可能使用CurrentUser)。
如果您发现需要其他人,请在FluentMigrator的Github网站上将其记录为问题,我们会尝试将其添加进来。