sql >> Database >  >> RDS >> Mysql

Probleem met winkelaccessor:kan geen oude, reeds opgeslagen json-object geserialiseerde (hash) waarden in mysql-database in Rails 4 lezen

Ik heb eindelijk de oplossing gevonden. De implementatie van "store accessor" (vermeld in de vraag) is gewijzigd in activerecord 4.2.4. Eerder (actief record 3.2.8) zijn de gegevens opgeslagen in de database in YAML-indeling en werkte het met "coder:JSON", wat niet het geval is in activerecord 4.2.4

Hier is de codelink 4.2.4https ://github.com/rails/rails/blob/master/activerecord/lib/active_record/store.rb#L85

Hier is de codelink 3.2https://github.com/rails/rails/blob/3-2-stable/activerecord/lib/active_record/store.rb#L35

Nu in 4.2.4, of de gegevens die zijn opgeslagen in het geserialiseerde kenmerk zich in YAML of JSON bevinden, de coder die nu voor mij werkt, is YAML.

Vandaar dat mijn code begon te werken nadat ik de coder van JSON naar YAML had gewijzigd.

Elke vraag/twijfel over dit antwoord wordt op prijs gesteld.




  1. @@ERROR en/of TRY - CATCH

  2. Beveiligingsklasse in Codeigniter

  3. Verschil tussen TRIM() en TRIM_ORACLE() in MariaDB

  4. Vergelijking van full text zoekmachine - Lucene, Sphinx, Postgresql, MySQL?