Ruby on Rails 4で使用できるデータ型のリストはどこにありますか?といった
text
string
integer
float
date
私は新しいものについて学び続け、簡単に参照できるリストが欲しいです。
Ruby on Rails 4で使用できるデータ型のリストはどこにありますか?といった
text
string
integer
float
date
私は新しいものについて学び続け、簡単に参照できるリストが欲しいです。
回答:
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にはさらに多くのデータ型があります。
text
データ型がないようです。それでも、レールはそれを処理できますか?バックグラウンドで何が起こっていますか?
nil
postgres以外のデータベースで型を持ちます。を使用して、コンソールでタイプを検査できModel.columns_hash["column_name"].type
ます。これらは:json列タイプを使用するときに遭遇したことですが、私は間違っている可能性があり、これは誰にも起こらない可能性がありますが、問題が発生した場合に備えて将来の読者に知らせたいと思いました。とにかく、この回答の+1は本当に役に立ちました。
また、これらのデータ型が何に使用されているかを一般的に知っておくと便利かもしれません。
:string
-タイトルなどの小さなデータ型用です。(文字列とテキストのどちらを選択しますか?):text
-情報の段落など、より長いテキストデータ用:binary
-画像、音声、動画などのデータを保存するためのものです。:boolean
-真または偽の値を格納するためのものです。:date
-日付のみを保存:datetime
-日付と時刻を列に格納します。 :time
-時間限定です:timestamp
-日付と時刻を列に格納するため。(日時とタイムスタンプの違いは何ですか?):decimal
-小数用です(小数の使用方法の例)。:float
-小数用です。(10進数と浮動小数点の違いは何ですか?):integer
-整数用です。:primary_key
-テーブルの各行を一意に識別できる一意のキー関連付けを作成するために使用される参照もあります。しかし、これが実際のデータ型かどうかはわかりません。
PostgreSQLで利用可能な新しいRails 4データ型:
:hstore
-キーと値のペアを単一の値内に格納します(この新しいデータ型の詳細をご覧ください):array
-特定の行の数字または文字列の配置(詳細と例を参照):cidr_address
-IPv4またはIPv6ホストアドレスに使用:inet_address
-cidr_addressと同じIPv4またはIPv6ホストアドレスに使用されますが、ネットマスクの右側にゼロ以外のビットを持つ値も受け入れます:mac_address
-MACホストアドレスに使用アドレスデータ型の詳細については、こちらとこちらをご覧ください。
また、ここに移行に関する公式ガイドがあります:http : //edgeguides.rubyonrails.org/migrations.html
uuid
として使用することができますタイプの通常のフィールドのようなt.uuid :name...
主のようなキーとして、またはcreate_table :users, id: :uuid do...
あるいは例えばt.primary_key :id, :uuid, :default => 'uuid_generate_v1()'
ActiveRecord::ConnectionAdapters::PostgreSQL::ColumnMethods
リストされているRailsでサポートされている追加のPostgreSQLタイプ。ハイライトが含まれmoney
、json
、xml
、daterange
NATIVE_DATABASE_TYPES
-あなたが必要なアダプタの github.com/rails/rails/blob/master/activerecord/lib/...
Rails4にはPostgres用のデータ型がいくつか追加されています。
たとえば、railscast#400はそのうちの2つに名前を付けます。
Rails 4はPostgresのネイティブデータ型をサポートしているため、ここではそのうちの2つを示しますが、より多くのものがサポートされています。配列とhstoreです。文字列型の列に配列を格納し、hstoreの型を指定できます。
また、cidr、inet、macaddrも使用できます。詳細については: