2013-04-24 1 views
5

저는 PostgreSQL의 완전한 초보자입니다. 그리고 저는 Postgres가 제공 한 hstore 데이터 유형에 놀랐습니다. 글쎄, 레일 3 프레임 워크를 사용하고 PostgreSQL을 사용하는 간단한 응용 프로그램을 개발하고 있습니다. 필드에 해시 배열을 저장하려고합니다. 예 :PostgreSQL에서 hstore의 배열을 가질 수 있습니까?

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

를 들어 레일 (3)을 사용하여 PostgreSQL의에서이 가능합니까? 그렇다면 누군가 어떻게 통찰력을 줄 수 있습니까? 그들은 당신이 hstore 배열을 할 수 있을지

덕분에

+1

글쎄, 확실히 PG 측에서 가능합니다 : http://sqlfiddle.com/#!1/16e4c/3 –

+0

레일스에서 ​​이것을 어떻게 구현합니까? 나는 레일에 완전한 새내기이다. 감사합니다 – swaroopsm

답변

7

그것은 배열을 만들 확실히 가능 레일 4의 hstore 열 (예 : 테이블 작성이 같은 열 스펙 그러나

t.hstore :properties, :array => true 

불행히도 그들을 사용할 수 없게 레일 4.0 부호화 버그가있다; 본질적으로 당신은 그것들을 읽을 수 있고, 해쉬의 배열로서 올바르게 표시하지만, 쓰지는 않는다.

수정 패치를 적용한 https://github.com/rails/rails/issues/11135에 곧 출시 될 예정인 문제가 있습니다.

+0

고마워요! 레일 팀이 통합 할 수 있기를 기대합니다. – swaroopsm

+0

이 @inopinatus 작업을 해주셔서 감사합니다! hstore 배열을 문자열로 전달하여 패치가 레일스의 일부가 될 때까지 데이터베이스에 올바르게 전달하는 방법에 대한 아이디어가 있습니까? –

+0

귀하의 대답은 여기에 수락 된 답변과 충돌하는 것 같습니다 : http://stackoverflow.com/questions/22306434/can-i-store-arrays-in-hstore-with-rails 확신 할 수 있습니까? – Noz

관련 문제