sql >> Databasteknik >  >> RDS >> PostgreSQL

Räls ser upp med serialiserad array

Lösningen jag använder för tillfället (definitivt öppen för andra tillvägagångssätt!) är att tvinga Rails att serialisera med något annat än Yaml, för att tillåta strängfrågor:

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 är lite krångligt eftersom jag måste fråga med den anpassade find_by_arr , men det fungerar.

(Redigering:tog bort dålig exempelkod.)




  1. MySQL:ERROR 1215 (HY000):Kan inte lägga till främmande nyckel-begränsning

  2. Rust:Läs dataram i polars från mysql

  3. SQL-fråga - Sammanfoga resultat till en sträng

  4. MySQL-utlösare för att uppdatera ett fält till värdet av id