Mam problem, że mam migrację w Railsach, która konfiguruje domyślne ustawienie dla kolumny, jak w tym przykładzie:
def self.up
add_column :column_name, :bought_at, :datetime, :default => Time.now
end
Załóżmy, że lubię porzucić te ustawienia domyślne w późniejszej migracji. Jak to zrobić za pomocą migracji szyn?
Moje obecne obejście polega na wykonaniu niestandardowej komendy sql podczas migracji szyn:
def self.up
execute 'alter table column_name alter bought_at drop default'
end
Ale nie podoba mi się to podejście, ponieważ jestem teraz zależny od tego, w jaki sposób baza danych interpretuje to polecenie. W przypadku zmiany bazy danych to zapytanie może nie działać i migracja zostałaby przerwana. Czy jest więc sposób wyrażenia cofnięcia domyślnego ustawienia kolumny w szynach?
CHARACTER VARYING
kolumn, wystarczy ustawić ją naNULL::character varying
.