2011-01-13 22 views
158

¿Dónde puedo encontrar una lista de tipos de datos que se pueden usar en los rieles 3? (como texto, cadena, entero, flotación, fecha, etc.). Continúo aprendiendo aleatoriamente sobre los nuevos, pero me encantaría tener una lista a la que pudiera referirme fácilmente.Rails 3 tipos de datos?

Respuesta

269

continuación se muestran todos los Rails3 (migración ActiveRecord) tipos de datos:

: binario
: booleano
: Fecha
: datetime
: decimal
: flotador
: entero
: primary_key
: referencias
: cadena
: Texto
: tiempo
: marca de tiempo

Source

+4

y: referencias para polimórfica asociaciones. Consulte: http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/TableDefinition.html – Ethan

+0

la guía ha cambiado. Tal vez un enlace a la documentación relevante debería reemplazarlo. –

+1

@HarryMoreno: ¡Gracias por el consejo! Actualicé la referencia, por favor avíseme si encuentra una mejor. –

15

Podría ser útil saber lo general lo que estos datos se utilizan tipos para:

  • binario: es para almacenar datos como imágenes, audio o películas.
  • booleano: sirve para almacenar valores verdaderos o falsos.
  • fecha - almacene solo la fecha
  • fecha y hora: almacene la fecha y la hora en una columna.
  • decimal - es para decimales.
  • flotador - es para decimales. (What's the difference between decimal and float?)
  • entero - es para números enteros.
  • primary_key - clave única que puede identificar de forma única cada fila en una tabla
  • cadena - es para tipos de datos pequeños como un título. (Should you choose string or text?)
  • texto - es para piezas más largas de datos textuales, como un párrafo de información.
  • time - is for time only
  • marca de tiempo - para almacenar la fecha y la hora en una columna.

Espero que ayude a alguien!También, aquí está la lista oficial: http://guides.rubyonrails.org/migrations.html#supported-types

67

Es importante saber no sólo los tipos, pero la asignación de estos tipos a los tipos de bases de datos, también:

enter image description here

enter image description here

Para, ejemplo, tenga en cuenta que en MS SQL Server estamos usando:

  1. el antiguo "datetime" en lugar de "datetime2"
  2. decimal con su precisión predeterminada
  3. texto y varchar en lugar nvarchar
  4. int (no es posible utilizar pequeña int/pequeña int/grande int) Imagen
  5. lugar Blob
+2

Como encontrar en [este blog] (http://ariejan.net/2009/08/20/once-and-for-all-rails-migrations-integer-limit-option/). El tinyint/smallint/bigint se puede establecer mediante el uso de: limit option with: integer. Lo he probado en Rails 3 y MySQL, todavía están funcionando, tal como se dijo en el blog, están firmados como enteros. – RacsO