Ho il problema, che ho una migrazione in Rails che configura un'impostazione predefinita per una colonna, come questo esempio:
def self.up
add_column :column_name, :bought_at, :datetime, :default => Time.now
end
Supponiamo che mi piaccia abbandonare le impostazioni predefinite in una migrazione successiva, come posso fare con l'utilizzo delle migrazioni rails?
La mia attuale soluzione alternativa è l'esecuzione di un comando sql personalizzato nella migrazione delle rotaie, in questo modo:
def self.up
execute 'alter table column_name alter bought_at drop default'
end
Ma questo approccio non mi piace, perché ora dipendo da come il database sottostante sta interpretando questo comando. In caso di modifica del database, questa query potrebbe non funzionare più e la migrazione verrebbe interrotta. Quindi, c'è un modo per esprimere l'annullamento di un'impostazione predefinita per una colonna in rotaie?
CHARACTER VARYING
colonne, ma semplicemente impostalo suNULL::character varying
.