如何使用當前日期時間的默認日期時間值更改流利遷移中的列?流利的遷移者。如何添加日期時間列作爲當前日期的默認值?
所以我需要水木清華這樣的:
ALTER TABLE database ADD column DATETIME DEFAULT GETDATE() NOT NULL;
只爲一口流利的遷移。謝謝。
如何使用當前日期時間的默認日期時間值更改流利遷移中的列?流利的遷移者。如何添加日期時間列作爲當前日期的默認值?
所以我需要水木清華這樣的:
ALTER TABLE database ADD column DATETIME DEFAULT GETDATE() NOT NULL;
只爲一口流利的遷移。謝謝。
您可能已經找到SystemMethods on the wiki的文檔。我只是更新它,以便它反映最新版本的FluentMigrator。
只是想指出,這些是數據庫特定的,只有Sql Server具有所有五個SystemMethods實現。這使得你的遷移可移植性降低,因爲它不再是生成的標準sql,並且其他數據庫不支持某些SystemMethods(例如,CurrentUser在MySql中似乎不可能)。
如果你看到需要任何人,那麼請登錄它作爲FluentMigrator的Github上網站的問題,我們會盡力將它添加
看到的答案實際上不包括任何代碼:
Create.Table(nameof(Report))
.WithColumn(nameof(Report.Id)).AsInt32().NotNullable().PrimaryKey().Identity()
.WithColumn(nameof(Report.CreatedAt)).AsDateTime().Nullable()
.WithDefault(SystemMethods.CurrentDateTime);
WithDefault(SystemMethods)
方法是solutoin。
簡短調查後的好回答:您應該使用擴展方法WithDefault(SystemMethods.CurrentDateTime),其中SystemMethods可以是CurrentDateTime,CurrentUTCDateTime,NewGuid,NewSequentialId之一。 – Seth