09-08-2011, 09:44 PM
(Modification du message : 09-08-2011, 10:30 PM par Sephi-Chan.)
Je te conseille d'avoir une colonne par attribut. C'est plus lisible, plus efficace et sans inconvénient.
Si malgré tout tu souhaites jouer les bidouilleurs et stocker tes données sous forme d'une chaîne, autant utiliser un format de sérialisation standard tel que JSON ou YAML. Si tu utilises ActiveRecord, tu as même la possibilité d'utiliser serialize en lui spécifiant une colonne de type text et la sérialisation/désérialisation devient transparente.
Si malgré tout tu souhaites jouer les bidouilleurs et stocker tes données sous forme d'une chaîne, autant utiliser un format de sérialisation standard tel que JSON ou YAML. Si tu utilises ActiveRecord, tu as même la possibilité d'utiliser serialize en lui spécifiant une colonne de type text et la sérialisation/désérialisation devient transparente.
class Character < ActiveRecord::Base
serialize :abilities
end
user = User.new
user.abilities = { fire: 23, earth: 17 }
user.save
other_user = User.find(42)
other_user.abilities # => { fire: 12, earth: 32 }