sql >> Database teknologi >  >> RDS >> PostgreSQL

Skinner slår op efter serialiseret array

Den løsning, jeg bruger indtil videre (afgjort åben for andre tilgange!) er at tvinge Rails til at serialisere med noget andet end Yaml, for at tillade strengforespørgsler:

class Foo < ActiveRecord::Base
  serialize :arr, SerializedArray

  def self.find_by_arr
    self.where(arr: SerializedArray.dump(arr)).take
  end
end

class SerializedArray
  def self.load(arr)
    arr ? JSON.load(arr) : nil
  end

  def self.dump(arr)
    arr ? JSON.dump(arr) : nil
  end
end

Det er lidt skævt, da jeg er nødt til at forespørge med den brugerdefinerede find_by_arr , men det virker.

(Rediger:fjernet dårlig eksempelkode.)




  1. Henvisning til en række fra en anden tabel (PostgreSQL)

  2. PostgreSQL, kompleks forespørgsel til beregning af ingredienser efter opskrift

  3. Brug ligesom '%' og match NULL-værdier med NUMBER kolonner

  4. Sådan sletter du en mysql-post med jquery