sql >> Database >  >> RDS >> PostgreSQL

Rails opzoeken door geserialiseerde array

De oplossing die ik nu gebruik (staat zeker open voor andere benaderingen!) is om Rails te dwingen om te serialiseren met iets anders dan Yaml, om stringquery's mogelijk te maken:

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

Het is een beetje janky omdat ik moet zoeken met de aangepaste find_by_arr , maar het werkt.

(Bewerken:slechte voorbeeldcode verwijderd.)




  1. mysql - Prestaties van rijen versus kolommen maken

  2. PostgreSQL maakt index op cast van string tot datum

  3. mysqldump-equivalent voor SQL Server

  4. Oracle Forms in R12/R12.2