Rails 4: Lista de tipos de datos disponibles
¿Dónde puedo encontrar una lista de tipos de datos que se pueden utilizar en Ruby on Rails 4? Tales como
-
text
-
string
-
integer
-
float
-
date
Sigo aprendiendo sobre nuevos y me encantaría tener una lista a la que pueda referirme fácilmente.
5 answers
Aquí están todos los tipos de datos de Rails 4 (ActiveRecord migration):
:binary
:boolean
:date
:datetime
:decimal
:float
:integer
:bigint
:primary_key
:references
:string
:text
:time
:timestamp
Fuente: http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_column
Estos son lo mismo que con Rails 3.
Si usa PostgreSQL, también puede aprovechar estos:
:hstore
:json
:jsonb
:array
:cidr_address
:ip_address
:mac_address
Se almacenan como cadenas si ejecuta su aplicación con una base de datos no PostgreSQL.
Editar, 2016-Sep-19:
Hay muchos más tipos de datos específicos de postgres en Rails 4 y incluso más en Rails 5.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:34:50
También puede ser útil saber en general para qué se utilizan estos tipos de datos:
-
:string
- es para tipos de datos pequeños como un título. ( ¿Debe elegir cadena o texto?) -
:text
- es para piezas más largas de datos textuales, como un párrafo de información -
:binary
- es para almacenar datos como imágenes, audio o películas. -
:boolean
- es para almacenar valores verdaderos o falsos. -
:date
- almacenar solo la fecha -
:datetime
- almacene la fecha y la hora en una columna. -
:time
- es solo para el tiempo -
:timestamp
- para almacenar la fecha y la hora en una columna.( ¿Cuál es la diferencia entre datetime y timestamp?) -
:decimal
- es para decimales ( ejemplo de cómo usar decimales). -
:float
- es para decimales. ( ¿Cuál es la diferencia entre decimal y flotante?) -
:integer
- es para números enteros. -
:primary_key
- clave única que puede identificar de forma única cada fila de una tabla
También hay referencias utilizadas para crear asociaciones. Pero, No estoy seguro de que este sea un tipo de datos real.
Nuevos tipos de datos Rails 4 disponibles en PostgreSQL:
-
:hstore
- almacenamiento de pares clave/valor dentro de un solo valor (obtenga más información sobre este nuevo tipo de datos) -
:array
- una disposición de números o cadenas en una fila en particular (obtenga más información al respecto y vea ejemplos) -
:cidr_address
- utilizado para Direcciones de host IPv4 o IPv6 -
:inet_address
- se usa para direcciones de host IPv4 o IPv6, igual que cidr_address pero también acepta valores con bits distintos de cero a la derecha de la máscara de red -
:mac_address
- utilizado para direcciones de host MAC
Obtenga más información sobre los tipos de datos de direcciones aquíy aquí.
Además, aquí está la guía oficial sobre migraciones: http://edgeguides.rubyonrails.org/migrations.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:26:27
Es importante conocer no solo los tipos, sino también la asignación de estos tipos a los tipos de base de datos:
Fuente añadida - Desarrollo web ágil con Rails 4
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-15 17:44:05
Puede acceder a esta lista cada vez que desee (incluso si no tiene acceso a Internet) a través de:
rails generate model -h
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-07 13:43:30
Rails4 tiene algunos tipos de datos añadidos para Postgres.
Por ejemplo, railscast # 400 nombra dos de ellos:
Rails 4 tiene soporte para tipos de datos nativos en Postgres y mostraremos dos de estos aquí, aunque muchos más son soportados: array y hstore. Podemos almacenar matrices en una columna de tipo string y especificar el tipo para hstore.
Además, también puede usar cidr, inet y macaddr. Para más información:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-29 07:26:27