No puedo encontrar la página de documentación de registro activa que tiene una lista de todos los tipos de datos.¿Dónde está la página de documentación para los tipos de datos de ActiveRecord?
¿Alguien me puede ayudar?
No puedo encontrar la página de documentación de registro activa que tiene una lista de todos los tipos de datos.¿Dónde está la página de documentación para los tipos de datos de ActiveRecord?
¿Alguien me puede ayudar?
Si habla de los tipos de migraciones, p. cadena, entero, fecha y hora, etc., luego quiere ActiveRecord::ConnectionAdapters::TableDefinition, el método column. (Rieles 5 de edición: véase también la conexión add_column..)
partir de esta fecha, los tipos estándar son:
:primary_key
:string
:text
:integer
:bigint
:float
:decimal
:numeric
:datetime
:time
:date
:binary
:boolean
La implementación de :decimal
es diferente con cada base de datos, así que lo evitaría si es posible. Puede utilizar un tipo que no esté en esta lista, siempre que sea compatible con su base de datos (por ejemplo, :polygon
en MySQL), pero esto no será independiente de la base de datos y también debe evitarse.
También puede ver tipos de datos ActiveRecord en las fuentes. Cada adaptador DBMS contiene su propia asignación. Por ejemplo, en el caso de MySQL mirar a este archivo: https://github.com/rails/rails/blob/master/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb#L148 o conseguirlo por esta línea de código para el adaptador de DBMS actual:
ActiveRecord::Base.connection.native_database_types.keys
Aquí está el asignaciones predeterminadas de tipos de adaptadores de base de datos:
Nota esto se basa en los carriles Código Fuente de 13 Feb 2015 (Rails 4,2)
En caso de que alguien quiera ver cómo se mapean estos tipos de datos en la base de datos que está utilizando.
Puede agarrar fácilmente en el código fuente de rails en github.
Por ejemplo tipos de datos
rieles para MySQL datatyes mapeo.
NATIVE_DATABASE_TYPES = {
:primary_key => "int(11) auto_increment PRIMARY KEY",
:string => { :name => "varchar", :limit => 255 },
:text => { :name => "text" },
:integer => { :name => "int", :limit => 4 },
:float => { :name => "float" },
:decimal => { :name => "decimal" },
:datetime => { :name => "datetime" },
:time => { :name => "time" },
:date => { :name => "date" },
:binary => { :name => "blob" },
:boolean => { :name => "tinyint", :limit => 1 }
}
Y si alguien quiere PostgreSQL Aquí tienes.
NATIVE_DATABASE_TYPES = {
primary_key: "serial primary key",
bigserial: "bigserial",
string: { name: "character varying" },
text: { name: "text" },
integer: { name: "integer" },
float: { name: "float" },
decimal: { name: "decimal" },
datetime: { name: "timestamp" },
time: { name: "time" },
date: { name: "date" },
daterange: { name: "daterange" },
numrange: { name: "numrange" },
tsrange: { name: "tsrange" },
tstzrange: { name: "tstzrange" },
int4range: { name: "int4range" },
int8range: { name: "int8range" },
binary: { name: "bytea" },
boolean: { name: "boolean" },
bigint: { name: "bigint" },
xml: { name: "xml" },
tsvector: { name: "tsvector" },
hstore: { name: "hstore" },
inet: { name: "inet" },
cidr: { name: "cidr" },
macaddr: { name: "macaddr" },
uuid: { name: "uuid" },
json: { name: "json" },
jsonb: { name: "jsonb" },
ltree: { name: "ltree" },
citext: { name: "citext" },
point: { name: "point" },
bit: { name: "bit" },
bit_varying: { name: "bit varying" },
money: { name: "money" },
}
¿Solo una cuestión de elección o alguna razón en particular para agradecer a ApiDock sobre los documentos oficiales? – Swanand
@Swanand Es el mismo contenido, por supuesto, pero la navegación es mejor. Y la capacidad de ver cuánto ha cambiado algo en varias versiones de Rails es invaluable. –
@Swanand Las notas creadas por el usuario son muy útiles también en áreas donde la documentación por sí sola no es muy útil. – Ajedi32