2013-04-24 9 views
5

私はPostgreSQLの完全な初心者です。そして、私はPostgresによって提供されたhstoreデータ型に本当にびっくりしました。さて、私はRails 3フレームワークを使用し、PostgreSQLを使用するシンプルなアプリケーションを開発しています。私はフィールドにハッシュの配列を格納したい。例:。:PostgreSQLでhstoreの配列を持つことは可能ですか?

authors: [ 
      { 
      name: "abc", 
      email: "[email protected]" 
      }, 
      { 
      name: "xyz", 
      email: "[email protected]" 
      } 
     ] 

については はRailsの3を使用してPostgreSQLでこの可能ですか?もしそうなら、誰かがどのように洞察力を与えることができますか?

おかげ

+1

PG側では確かに可能です:http://sqlfiddle.com/#!1/16e4c/3 –

+0

これはRailsでどのように実装するのか分かりますか?私はレールの初心者です。おかげで – swaroopsm

答えて

7

をそれは配列を作成できることは間違いありませんRails 4のhstoreカラムテーブル作成中に、このような列仕様:しかし

t.hstore :properties, :array => true 

、残念ながら彼らが使用不能のRails 4.0のエンコーディングバグがあります。基本的にそれらから読み取ることができ、ハッシュの配列として正しく表示されますが、書き込みはできません。

https://github.com/rails/rails/issues/11135に問題が発生しました。修正パッチは、間もなく追加される予定です。

+0

ありがとう! それを組み込むためのレールチームを楽しみにしています。 – swaroopsm

+0

この@inopinatusで働いてくれてありがとう! hstore配列を文字列として渡して、パッチがRailsの一部になるまでデータベースに正しく入るようにする方法はありますか? –

+0

あなたの答えは、ここで受け入れられた回答と矛盾しているようです:http://stackoverflow.com/questions/22306434/can-i-store-arrays-in-hstore-with-railsあなたはこれができると確信していますか? – Noz

2

は、私は、彼らはあなたがhstoreの配列を持つことができますかどうかわからないんだけど、hstoreのと配列型を追加し、いくつかのアクティブなレコードの拡張があります。例えば:

https://github.com/funny-falcon/activerecord-postgresql-arrays

https://github.com/engageis/activerecord-postgres-hstore

https://github.com/tlconnor/activerecord-postgres-array

も、Railsの4関連の改善をお見逃しなく:

http://blog.remarkablelabs.com/2012/12/a-love-affair-with-postgresql-rails-4-countdown-to-2013

関連する問題