Свободный мигрирующий. Как добавить столбец datetime со значениями по умолчанию в качестве текущей даты?
Как я могу изменить столбец при плавной миграции со значением даты по умолчанию, которое является текущим временем даты?
Так что мне нужно smth вот так:
ALTER TABLE database ADD column DATETIME DEFAULT GETDATE() NOT NULL;
только для плавной миграции. Спасибо.
Ответы
Ответ 1
Возможно, вы уже нашли документацию для SystemMethods в вики. Я просто обновил его, чтобы он отражал последнюю версию FluentMigrator.
Просто хочу отметить, что они специфичны для базы данных, и только Sql Server реализовал все пять SystemMethods. Это делает ваши миграции менее переносимыми, поскольку он больше не является стандартным sql, который сгенерирован, а некоторые из SystemMethods не поддерживаются для других баз данных (например, в MySql, например, не представляется возможным).
Если вы видите необходимость в других, пожалуйста, зарегистрируйте его как проблему на сайте FluentMigrator Github, и мы попытаемся добавить его.
Ответ 2
Увидев, что ответ фактически не содержит кода:
Create.Table(nameof(Report))
.WithColumn(nameof(Report.Id)).AsInt32().NotNullable().PrimaryKey().Identity()
.WithColumn(nameof(Report.CreatedAt)).AsDateTime().Nullable()
.WithDefault(SystemMethods.CurrentDateTime);
Метод WithDefault(SystemMethods)
представляет собой раствор.