sql >> Databasteknik >  >> RDS >> Mysql

Store accessor problem:Kan inte läsa gamla redan lagrade json objekt serialiserade (hash) värden i mysql databas i Rails 4

Jag hittade lösningen till slut. Implementeringen av "butiksaccessor" (som nämns i frågan) ändras i activerecord 4.2.4. Tidigare (aktiv post 3.2.8) lagras data i databasen i YAML-format, och den fungerade med "coder:JSON", vilket inte är fallet i activerecord 4.2.4

Här är kodlänken 4.2.4https ://github.com/rails/rails/blob/master/activerecord/lib/active_record/store.rb#L85

Här är kodlänken 3.2https://github.com/rails/rails/blob/3-2-stable/activerecord/lib/active_record/store.rb#L35

Nu i 4.2.4, oavsett om data som lagras i serialiserat attribut är i YAML eller JSON, är kodaren som fungerar för mig nu YAML.

Därför började min kod att fungera efter att jag ändrade kodaren från JSON till YAML.

Alla frågor/tvivel om detta svar kommer att uppskattas.




  1. Mysql:Hitta rader där tidsstämpelskillnaden är mindre än x

  2. hur man får distinkta rader med maxvärde

  3. Specialtecken i MySQL-tabellnamn

  4. Fix Msg 8114 "Fel vid konvertering av datatyp varchar till numerisk" i SQL Server