7

У меня есть следующая миграция:Как удалить ключи HSTORE?

class CreateFoos < ActiveRecord::Migration 
    def change 
    create_table :foos do |t| 
     t.hstore :foos_properties 
    end 
    end 
end 

В столбце hstore, у меня есть 2 ключа: :foo и :bar. Возможно ли создать другую миграцию для удаления :foo? Как это должно выглядеть?

Я нашел это:

Foo.update_all([%(foos_properties = delete("foos_properties",?)), 'foo']) 

Это безопасно? Или я должен рассмотреть более разумный подход?

+0

Вы можете изменить свои ключи, как вы хотите, без миграции. –

ответ

0

Я думаю, что ваш подход прекрасен. Я делаю что-то немного похожее:

ObjectModel.find_each do |object_model| 
    object_model.foos_properties.delete("foo") 
end 
Смежные вопросы