Подтвердить что ты не робот

Свободный мигрирующий. Как добавить столбец datetime со значениями по умолчанию в качестве текущей даты?

Как я могу изменить столбец при плавной миграции со значением даты по умолчанию, которое является текущим временем даты?

Так что мне нужно smth вот так:

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

только для плавной миграции. Спасибо.

4b9b3361

Ответ 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) представляет собой раствор.