레일스 4 : 사용 가능한 데이터 유형 목록


406

Ruby on Rails 4에서 사용할 수있는 데이터 유형 목록은 어디에서 찾을 수 있습니까? 와 같은

  • text
  • string
  • integer
  • float
  • date

나는 새로운 것들에 대해 계속 배우고 있으며 쉽게 참조 할 수있는 목록을 갖고 싶습니다.



1
@MarkThomas : 중복되지 않습니다. 내 질문은 특별히 Rails 4입니다.
Nicolas Raoul

해당 질문에 허용 된 답변은 기본적으로 허용 된 답변과 동일합니다. 둘 다 Rails 4 문서를 가리 킵니다. 또한 ActiveRecord 데이터 유형이 Rails 3에서 Rails 4로 변경되지 않았기 때문에 문제가됩니다.
Mark Thomas

10
나는 AR 데이터 유형이 레일 3과 4 사이에서 바뀌지 않았다는 것을 알지 못했기 때문에이 질문 / 답변이 여기에 감사합니다.
Dty

답변:


667

다음은 모든 Rails 4 (ActiveRecord 마이그레이션) 데이터 유형입니다.

  • :binary
  • :boolean
  • :date
  • :datetime
  • :decimal
  • :float
  • :integer
  • :bigint
  • :primary_key
  • :references
  • :string
  • :text
  • :time
  • :timestamp

출처 : http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_column 레일 3
과 동일 합니다.

PostgreSQL을 사용하는 경우 다음을 활용할 수도 있습니다.

  • :hstore
  • :json
  • :jsonb
  • :array
  • :cidr_address
  • :ip_address
  • :mac_address

PostgreSQL이 아닌 데이터베이스로 앱을 실행하면 문자열로 저장됩니다.

2016 년 9 월 19 일 수정 :

거기에 더 많은 포스트 그레스의 특정 레일 4 데이터 유형과 레일 5는.


1
나는 이것이 모든 데이터베이스에서 지원되는 데이터 유형이라고 생각합니다. 그러나 Peter de Ridder가 언급했듯이 hstore와 같은 일부 데이터 유형이 여전히 지원됩니다.
Althaf Hameez

질문 : postgres 설명서에 text데이터 유형 이없는 것 같습니다 . 그래도 레일이 여전히 처리 할 수 ​​있습니까? 백그라운드에서 무슨 일이?
ahnbizcad

PostgreSQL에는 텍스트 데이터 유형이 있습니다. 후드 아래에서 모든 varchar / text 필드는 가변 길이 배열입니다. postgresql.org/docs/9.3/interactive/datatype-character.html
makhan

postgres가 아닌 데이터베이스를 사용하고 있고 schema_format 응용 프로그램이 : sql을 사용하도록 설정되어 있지 않으면 schema.rb 파일이 : json과 같은 유형을 사용하는 테이블을 덤프 할 수 없다는 것을 추가하고 싶습니다. 기본 유형을 사용하는 테이블에 대해서는 스키마가 여전히 덤프되지만 "테이블을 덤프 할 수 없습니다 ..."와 같은 특수 유형의 테이블에 대한 주석이 표시됩니다. schema_format을 설정하려면 여기를보십시오 .
bpercevic

또한 해당 열은 nilpostgres가 아닌 데이터베이스에 유형 이 있습니다. 로 콘솔에서 유형을 검사 할 수 있습니다 Model.columns_hash["column_name"].type. 이것들은 : json 열 유형을 사용할 때 겪었던 것입니다. 잘못 될 수 있으며 이것이 모든 사람에게 일어날 수는 없지만 장래 독자들에게 문제가있는 경우 알려 줄 것이라고 생각했습니다. 어쨌든,이 답변에 +1이 도움이 되었기 때문에.
bpercevic
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.