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