У мене проблема, що у мене міграція в Rails, яка встановлює налаштування стовпця за замовчуванням, як у цьому прикладі:
def self.up
add_column :column_name, :bought_at, :datetime, :default => Time.now
end
Припустимо, мені подобається скидати ці налаштування за замовчуванням під час пізнішої міграції, як це зробити з використанням міграцій рейки?
Моє поточне вирішення - це виконання користувацької команди sql під час міграції рейок, як це:
def self.up
execute 'alter table column_name alter bought_at drop default'
end
Але мені не подобається такий підхід, тому що я зараз залежу від того, як базова база даних інтерпретує цю команду. У разі зміни бази даних цей запит може більше не працювати, і міграція буде порушена. Отже, чи існує спосіб виразити скасування налаштування за замовчуванням для стовпця в рейках?
CHARACTER VARYING
стовпців, просто встановіть йогоNULL::character varying
.