2013-04-24 12 views
5

Jestem kompletnym początkującym użytkownikiem PostgreSQL. Byłem naprawdę zaskoczony typem hstore dostarczonym przez Postgres. Cóż, używam framework Rails 3 i rozwijam prostą aplikację, która wykorzystuje PostgreSQL. Chcę przechowywać tablicę skrótów w polu. Np .:Czy możliwe jest posiadanie tablicy hstore w PostgreSQL

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

Jest to możliwe w PostgreSQL za pomocą szyn 3? Jeśli tak, to czy ktoś może dać wgląd w to, w jaki sposób?

Dzięki

+1

Z pewnością jest to możliwe po stronie PG: http://sqlfiddle.com/#!1/16e4c/3 –

+0

Czy wiesz, jak to zaimplementować w Railsach? Jestem kompletnym początkującym na szynach. Dzięki – swaroopsm

Odpowiedz

7

to na pewno można stworzyć tablicę -of-hstore kolumna w Rails 4 z np spec kolumna tak w tworzeniu tabeli:

t.hstore :properties, :array => true 

Jednakże, nie ma błędów kodowania w Rails 4.0, która niestety czyni je bezużytecznym; w zasadzie można z nich czytać i przedstawiają poprawnie jako tablice skrótów, ale nie piszą.

Otworzyłem problem (z poprawką poprawkową) pod adresem https://github.com/rails/rails/issues/11135, który, mam nadzieję, wkrótce zostanie włączony.

+0

Dziękujemy! Czekamy na zespół szyn, aby go włączyć. – swaroopsm

+0

Dzięki za pracę nad tym @inopinatus! Czy masz jakieś pomysły, jak przekazać tablicę hstore jako ciąg tak, aby trafiał on do bazy danych poprawnie, dopóki twoja łata nie stanie się częścią Rails? –

+0

Twoja odpowiedź wydaje się być sprzeczna z zaakceptowaną odpowiedzią tutaj: http://stackoverflow.com/questions/22306434/can-i-store-arrays-in-hstore-with-rails czy jesteś pewien, że można to zrobić? – Noz

2

Nie jestem pewien, czy będziemy pozwalają mieć tablicę hstore, ale istnieje kilka aktywnych rozszerzenia, które dodają rekord typów hstore i tablicy. np:

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

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

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

Nie przegap Szyny 4-podobne ulepszenia, TOO:

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

Powiązane problemy