Mencatat 3 tipe data?

158

Di mana saya dapat menemukan daftar tipe data yang dapat digunakan di rel 3? (seperti teks, string, integer, float, date, dll?) Saya terus belajar secara acak tentang yang baru, tetapi saya ingin memiliki daftar yang bisa saya lihat dengan mudah.

Elliot
sumber

Jawaban:

270

Berikut adalah semua Rails3tipe data (migrasi ActiveRecord):

: binary
: boolean
: tanggal
: datetime
: desimal
: float
: integer
: primary_key
: referensi
: string
: teks
: waktu
: timestamp

Sumber

Nicolas Raoul
sumber
4
dan: referensi untuk asosiasi polimorfik. Lihat: api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/…
Ethan
panduan telah berubah. Mungkin tautan ke dokumentasi yang relevan harus menggantikannya.
Harry Moreno
1
@ HarryMoreno: Terima kasih atas tipnya! Saya memperbarui referensi, beri tahu saya jika Anda menemukan yang lebih baik.
Nicolas Raoul
Referensi tidak terbatas pada asosiasi polimorfik. Dan saya tidak akan menghitungnya sebagai tipe data.
Pascal
67

Penting untuk mengetahui tidak hanya tipe tetapi juga pemetaan tipe ini ke tipe basis data:

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Misalnya, perhatikan bahwa dalam MS SQL Server kami menggunakan:

  1. "datetime" lama sebagai gantinya "datetime2"
  2. desimal dengan presisi standarnya
  3. teks dan varchar sebagai gantinya nvarchar
  4. int (tidak mungkin menggunakan int kecil / int kecil / int besar)
  5. image bukan Gumpalan
Gotqn
sumber
2
Seperti yang ditemukan dari blog ini . Tinyint / smallint / bigint dapat diatur dengan menggunakan opsi: limit dengan: integer. Saya telah mengujinya di Rails 3 dan MySQL, mereka masih berfungsi, seperti yang dikatakan di blog, mereka bertanda integer.
RacsO
16

Mungkin bermanfaat untuk mengetahui secara umum tipe data apa yang digunakan untuk:

  • binary - untuk menyimpan data seperti gambar, audio, atau film.
  • boolean - untuk menyimpan nilai benar atau salah.
  • tanggal - hanya menyimpan tanggal
  • datetime - menyimpan tanggal dan waktu ke dalam kolom.
  • desimal - untuk desimal.
  • float - untuk desimal. ( Apa perbedaan antara desimal dan float? )
  • integer - adalah untuk bilangan bulat.
  • primary_key - kunci unik yang dapat secara unik mengidentifikasi setiap baris dalam sebuah tabel
  • string - adalah untuk tipe data kecil seperti judul. ( Haruskah Anda memilih string atau teks? )
  • teks - untuk potongan data teks yang lebih panjang, seperti paragraf informasi.
  • waktu - hanya untuk waktu saja
  • timestamp - untuk menyimpan tanggal dan waktu ke dalam kolom.

Saya harap itu membantu seseorang! Juga, inilah daftar resmi: http://guides.rubyonrails.org/migrations.html#supported-types

bunga-bunga
sumber