Rieles 3 tipos de datos?

158

¿Dónde puedo encontrar una lista de tipos de datos que se pueden usar en rails 3? (como texto, cadena, entero, flotante, fecha, etc.?) Sigo aprendiendo aleatoriamente sobre los nuevos, pero me encantaría tener una lista a la que pueda referirme fácilmente.

Elliot
fuente

Respuestas:

270

Aquí están todos los Rails3 tipos de datos (migración de ActiveRecord):

: binario
: booleano
: fecha: fecha y
hora
: decimal
: flotante
: entero
: clave_primaria
: referencias
: cadena
: texto
: hora
: marca de tiempo

Fuente

Nicolas Raoul
fuente
44
y: referencias para asociaciones polimórficas. Ver: api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/…
Ethan
La guía ha cambiado. Tal vez un enlace a la documentación relevante debería reemplazarlo.
Harry Moreno
1
@HarryMoreno: ¡Gracias por la sugerencia! Actualicé la referencia, por favor avíseme si encuentra alguna mejor.
Nicolas Raoul
Las referencias no se limitan a asociaciones polimórficas. Y no lo consideraría como un tipo de datos.
Pascal
67

Es importante conocer no solo los tipos, sino también la asignación de estos tipos a los tipos de bases de datos:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Por 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 de nvarchar
  4. int (no es posible usar tiny int / small int / big int)
  5. imagen en su lugar BLOB
gotqn
fuente
2
Como encontrar en este blog . El tinyint / smallint / bigint se puede configurar mediante: opción de límite con: entero. Lo he probado en Rails 3 y MySQL, todavía están funcionando, tal como se dice en el blog, son enteros con signo.
RacsO
16

Puede ser útil saber en general para qué se utilizan estos tipos de datos:

  • binario: es para almacenar datos como imágenes, audio o películas.
  • booleano: es para almacenar valores verdaderos o falsos.
  • fecha: almacenar solo la fecha
  • datetime: almacena la fecha y la hora en una columna.
  • decimal: es para decimales.
  • flotador - es para decimales. ( ¿Cuál es la diferencia entre decimal y flotante? )
  • entero: es para números enteros.
  • primary_key: clave única que puede identificar de forma exclusiva cada fila de una tabla
  • string: es para tipos de datos pequeños, como un título. ( ¿Debería elegir cadena o texto? )
  • texto: es para datos textuales más largos, como un párrafo de información.
  • tiempo - es solo por tiempo
  • marca de tiempo: para almacenar la fecha y la hora en una columna.

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

lflores
fuente