web-dev-qa-db-ja.com

Rails 4:利用可能なデータ型のリスト

Ruby on Rails 4で使用できるデータ型のリストはどこにありますか?といった

  • text
  • string
  • integer
  • float
  • date

私は新しいものについて学び続けていて、私が簡単に参照できるリストを持っていたいです。

367
Nicolas Raoul

これがすべての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
これらは Rails 3 と同じです。

PostgreSQLを使用している場合は、これらも利用できます。

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

アプリをPostgreSQL以外のデータベースで実行した場合、それらは文字列として格納されます。

編集、2016年9月19日:

Rails 4には さらに多くの postgres特有のデータ型が、Rails 5には さらに多くの _があります。

617
Nicolas Raoul

また、これらのデータ型が何のために使用されているのかを一般的に知っておくと便利です。

関連付けを作成するための参照もあります。しかし、 これが実際のデータ型かどうかはわかりません

PostgreSQLで利用可能な新しいRails 4データ型:

  • :hstore - 単一の値にキーと値のペアを格納する( この新しいデータ型の詳細
  • :array - 特定の行の数字や文字列の配置( それについてもっと学び、例を見てください
  • :cidr_address - IPv4またはIPv6ホストアドレスに使用されます
  • :inet_address - cidr_addressと同じ、IPv4またはIPv6ホストアドレスに使用されますが、ネットマスクの右側にゼロ以外のビットがある値も受け入れます。
  • :mac_address - MACホストアドレスに使用されます

住所データ型の詳細については、 here および here を参照してください。

また、これは移行に関する公式ガイドです: http://edgeguides.rubyonrails.org/migrations.html

232
lflores

型だけでなく、これらの型からデータベースの型へのマッピングも知っておくことが重要です。

enter image description here

enter image description here


ソースが追加されました - Rails 4によるアジャイルWeb開発 /

149
gotqn

あなたは(インターネットにアクセスできない場合でも)あなたが望むときはいつでもこのリストにアクセスすることができます:

Rails generate model -h
77
tomascharad

Rails4にはPostgres用のデータ型がいくつか追加されています。

たとえば、railscast#400はそのうちの2つを示しています。

Rails 4はPostgresのネイティブデータ型をサポートしています。ここではそのうちの2つを紹介します。配列を文字列型の列に格納して、hstoreの型を指定できます。

その他にも、cidr、inet、macaddrを使うことができます。詳細については:

https://blog.engineyard.com/2013/new-in-Rails-4

5
Peter de Ridder