7

Ich habe die folgende Migration:So löschen Sie HSTORE-Schlüssel?

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

In der hstore Spalte habe ich 2 Schlüssel: :foo und :bar. Ist es möglich, eine weitere Migration zu erstellen, um :foo zu entfernen? Wie sollte es aussehen?

Ich habe dies gefunden:

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

Ist das sicher? Oder sollte ich einen vernünftigeren Ansatz in Betracht ziehen?

+0

können Sie Ihre Schlüssel ändern, wie Sie ohne Migration möchten. –

Antwort

0

Ich denke, Ihr Ansatz ist in Ordnung. Ich mache etwas etwas ähnliches:

ObjectModel.find_each do |object_model| 
    object_model.foos_properties.delete("foo") 
end