Rails-миграции: отменить настройку по умолчанию для столбца

У меня есть проблема, что у меня есть миграция в Rails, которая устанавливает настройки по умолчанию для столбца, как в этом примере:

def self.up
  add_column :column_name, :bought_at, :datetime, :default => Time.now
end

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

Мой текущий обходной путь - выполнение пользовательской команды sql в миграции rails, например:

def self.up
  execute 'alter table column_name alter bought_at drop default'
end

Но мне не нравится этот подход, потому что теперь я зависим от того, как базовая база данных интерпретирует эту команду. В случае изменения базы данных этот запрос, возможно, может больше не работать, и миграция будет прервана. Итак, есть ли способ выразить отмену настройки по умолчанию для столбца в рельсах?

Ответы на вопрос(4)

Ваш ответ на вопрос