Di mana saya dapat menemukan daftar tipe data yang dapat digunakan di Ruby on Rails 4? Seperti
text
string
integer
float
date
Saya terus belajar tentang yang baru dan saya ingin memiliki daftar yang bisa saya lihat dengan mudah.
ruby-on-rails
ruby
ruby-on-rails-4
rails-activerecord
Nicolas Raoul
sumber
sumber
Jawaban:
Berikut ini semua tipe data Rails 4 (migrasi ActiveRecord):
:binary
:boolean
:date
:datetime
:decimal
:float
:integer
:bigint
:primary_key
:references
:string
:text
:time
:timestamp
Sumber: http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_column
Ini sama dengan Rails 3 .
Jika Anda menggunakan PostgreSQL, Anda juga dapat memanfaatkan ini:
:hstore
:json
:jsonb
:array
:cidr_address
:ip_address
:mac_address
Mereka disimpan sebagai string jika Anda menjalankan aplikasi Anda dengan database tidak-PostgreSQL.
Edit, 2016-Sep-19:
Ada lebih banyak tipe data spesifik postgres di Rails 4 dan bahkan lebih banyak di Rails 5.
sumber
text
tipe data. Namun, rel masih bisa menanganinya? Apa yang terjadi di latar belakang?nil
dalam basis data non-postgres. Anda dapat memeriksa jenis di konsol denganModel.columns_hash["column_name"].type
. Ini hanya hal-hal yang saya temui ketika menggunakan: tipe kolom json, saya mungkin salah dan ini mungkin tidak terjadi pada semua orang tapi saya pikir saya akan memberi tahu pembaca di masa depan jika mereka memiliki masalah. Apapun, +1 untuk jawaban ini karena sangat membantu saya.Anda mungkin juga perlu mengetahui secara umum jenis data apa yang digunakan untuk:
:string
- untuk tipe data kecil seperti judul. ( Haruskah Anda memilih string atau teks? ):text
- untuk potongan data teks yang lebih panjang, seperti paragraf informasi:binary
- untuk menyimpan data seperti gambar, audio, atau film.:boolean
- untuk menyimpan nilai benar atau salah.:date
- hanya menyimpan tanggal:datetime
- simpan tanggal dan waktu ke dalam kolom.:time
- hanya untuk waktu:timestamp
- untuk menyimpan tanggal dan waktu ke dalam kolom. ( Apa perbedaan antara datetime dan timestamp? ):decimal
- untuk desimal ( contoh cara menggunakan desimal ).:float
- untuk desimal. ( Apa perbedaan antara desimal dan float? ):integer
- adalah untuk bilangan bulat.:primary_key
- kunci unik yang dapat mengidentifikasi secara unik setiap baris dalam tabelAda juga referensi yang digunakan untuk membuat asosiasi. Tapi, saya tidak yakin ini adalah tipe data aktual .
Tipe data Rails 4 baru tersedia di PostgreSQL:
:hstore
- menyimpan pasangan kunci / nilai dalam satu nilai ( pelajari lebih lanjut tentang tipe data baru ini ):array
- pengaturan angka atau string dalam baris tertentu ( pelajari lebih lanjut tentang hal itu dan lihat contohnya ):cidr_address
- Digunakan untuk alamat host IPv4 atau IPv6:inet_address
- digunakan untuk alamat host IPv4 atau IPv6, sama seperti cidr_address tetapi juga menerima nilai dengan bit yang bukan nol di sebelah kanan netmask:mac_address
- Digunakan untuk alamat host MACPelajari lebih lanjut tentang tipe data alamat di sini dan di sini .
Juga, inilah panduan resmi tentang migrasi: http://edgeguides.rubyonrails.org/migrations.html
sumber
uuid
tipe yang dapat digunakan sebagai bidang normal sukat.uuid :name...
atau sebagai kunci utama seperticreate_table :users, id: :uuid do...
atau misalnyat.primary_key :id, :uuid, :default => 'uuid_generate_v1()'
ActiveRecord::ConnectionAdapters::PostgreSQL::ColumnMethods
. Highlights termasukmoney
,json
,xml
,daterange
Penting untuk mengetahui tidak hanya tipe tetapi juga pemetaan tipe ini ke tipe basis data:
Sumber ditambahkan - Agile Web Development with Rails 4
sumber
NATIVE_DATABASE_TYPES
adaptor yang Anda butuhkan - github.com/rails/rails/blob/master/activerecord/lib/…Anda dapat mengakses daftar ini setiap kali Anda inginkan (bahkan jika Anda tidak memiliki akses Internet) melalui:
sumber
Rails4 memiliki beberapa tipe data tambahan untuk Postgres.
Misalnya, railscast # 400 menyebutkan dua di antaranya:
Selain itu, Anda juga dapat menggunakan cidr, inet, dan macaddr. Untuk informasi lebih lanjut:
https://blog.engineyard.com/2013/new-in-rails-4
sumber