Onde posso encontrar uma lista de tipos de dados que podem ser usados no Ruby on Rails 4? Tal como
text
string
integer
float
date
Continuo aprendendo sobre os novos e adoraria ter uma lista à qual pudesse me referir facilmente.
Onde posso encontrar uma lista de tipos de dados que podem ser usados no Ruby on Rails 4? Tal como
text
string
integer
float
date
Continuo aprendendo sobre os novos e adoraria ter uma lista à qual pudesse me referir facilmente.
Respostas:
Aqui estão todos os tipos de dados do Rails 4 (migração do ActiveRecord):
:binary
:boolean
:date
:datetime
:decimal
:float
:integer
:bigint
:primary_key
:references
:string
:text
:time
:timestamp
Fonte: http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_column
São os mesmos do Rails 3 .
Se você usa o PostgreSQL, também pode tirar proveito destes:
:hstore
:json
:jsonb
:array
:cidr_address
:ip_address
:mac_address
Eles são armazenados como seqüências de caracteres se você executar seu aplicativo com um banco de dados não PostgreSQL.
Editar, 19 de setembro de 2016:
Há muito mais tipos de dados específicos do postgres no Rails 4 e ainda mais no Rails 5.
text
tipo de dados. No entanto, os trilhos ainda podem lidar com isso? O que se passa em segundo plano?
nil
em um banco de dados não-postgres. Você pode inspecionar o tipo no console com Model.columns_hash["column_name"].type
. Estas são apenas as coisas que eu encontrei ao usar: tipo de coluna json, posso estar errado e isso pode não acontecer com todo mundo, mas pensei em avisar futuros leitores caso tenham problemas. Independentemente disso, marque +1 nesta resposta porque realmente me ajudou.
Você também pode achar útil saber em geral para que esses tipos de dados são usados:
:string
- é para pequenos tipos de dados, como um título. ( Você deve escolher string ou texto? ):text
- é para dados mais longos de texto, como um parágrafo de informações:binary
- é para armazenar dados como imagens, áudio ou filmes.:boolean
- é para armazenar valores verdadeiros ou falsos.:date
- armazene apenas a data:datetime
- armazene a data e hora em uma coluna. :time
- é apenas por tempo:timestamp
- para armazenar data e hora em uma coluna ( qual é a diferença entre datetime e timestamp? ):decimal
- é para decimais ( exemplo de como usar decimais ).:float
- é para decimais. ( Qual é a diferença entre decimal e float? ):integer
- é para números inteiros.:primary_key
- chave exclusiva que pode identificar exclusivamente cada linha em uma tabelaTambém há referências usadas para criar associações. Mas não tenho certeza se esse é um tipo de dados real .
Novos tipos de dados do Rails 4 disponíveis no PostgreSQL:
:hstore
- armazenando pares de chave / valor em um único valor ( saiba mais sobre esse novo tipo de dados ):array
- um arranjo de números ou seqüências de caracteres em uma linha específica ( saiba mais sobre isso e veja exemplos ):cidr_address
- usado para endereços de host IPv4 ou IPv6:inet_address
- usado para endereços de host IPv4 ou IPv6, o mesmo que cidr_address, mas também aceita valores com bits diferentes de zero à direita da máscara de rede:mac_address
- usado para endereços de host MACSaiba mais sobre os tipos de dados de endereço aqui e aqui .
Além disso, aqui está o guia oficial sobre migrações: http://edgeguides.rubyonrails.org/migrations.html
uuid
tipo que pode ser utilizado como campo normal como t.uuid :name...
ou como chave primária como create_table :users, id: :uuid do...
ou por exemplot.primary_key :id, :uuid, :default => 'uuid_generate_v1()'
ActiveRecord::ConnectionAdapters::PostgreSQL::ColumnMethods
da API para . Os destaques incluem money
, json
, xml
,daterange
É importante conhecer não apenas os tipos, mas também o mapeamento desses tipos para os tipos de banco de dados:
Fonte adicionada - Desenvolvimento Web Agile com Rails 4
NATIVE_DATABASE_TYPES
adaptador que precisa - github.com/rails/rails/blob/master/activerecord/lib/…
Você pode acessar esta lista sempre que quiser (mesmo que não tenha acesso à Internet) através de:
rails generate model -h
O Rails4 tem alguns tipos de dados adicionados para o Postgres.
Por exemplo, o railscast # 400 nomeia dois deles:
O Rails 4 tem suporte para tipos de dados nativos no Postgres e mostraremos dois aqui, embora muitos outros sejam suportados: array e hstore. Podemos armazenar matrizes em uma coluna do tipo string e especificar o tipo para hstore.
Além disso, você também pode usar cidr, inet e macaddr. Para maiores informações: