Rails 3 tipos de dados?

158

Onde posso encontrar uma lista de tipos de dados que podem ser usados ​​nos trilhos 3? (como texto, string, número inteiro, número flutuante, data etc.?) Continuo aprendendo aleatoriamente sobre os novos, mas adoraria ter uma lista à qual pudesse me referir facilmente.

Elliot
fonte

Respostas:

270

Aqui estão todos os Rails3tipos de dados (migração do ActiveRecord):

: binário
: booleano
: data
: datetime
: decimal
: float
: número inteiro
: chave_primária
: referências
: sequência
: texto
: hora
: registro de data e hora

Fonte

Nicolas Raoul
fonte
4
e: referências para associações polimórficas. Veja: api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/…
Ethan
o guia mudou. Talvez um link para a documentação relevante deva substituí-lo.
Harry Moreno
1
@HarryMoreno: Obrigado pela dica! Atualizei a referência. Informe-me se encontrar uma melhor.
Nicolas Raoul
As referências não se limitam às associações polimórficas. E eu não contaria isso como um tipo de dados.
Pascal
67

É importante conhecer não apenas os tipos, mas também o mapeamento desses tipos para os tipos de banco de dados:

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Por exemplo, observe que no MS SQL Server estamos usando:

  1. o antigo "datetime" em vez de "datetime2"
  2. decimal com sua precisão padrão
  3. texto e varchar em vez nvarchar
  4. int (não é possível usar int pequeno / int pequeno / int grande)
  5. imagem em vez BLOB
gotqn
fonte
2
Como encontrar neste blog . O tinyint / smallint / bigint pode ser definido usando a opção: limit com: integer. Eu testei no Rails 3 e no MySQL, eles ainda estão funcionando, assim como dito no blog, eles são assinados com número inteiro.
RACSO
16

Pode ser útil saber geralmente para que esses tipos de dados são usados:

  • binário - é para armazenar dados como imagens, áudio ou filmes.
  • booleano - serve para armazenar valores verdadeiros ou falsos.
  • date - armazena apenas a data
  • datetime - armazene a data e a hora em uma coluna.
  • decimal - é para decimais.
  • float - é para decimais. ( Qual é a diferença entre decimal e float? )
  • número inteiro - é para números inteiros.
  • primary_key - chave exclusiva que pode identificar exclusivamente cada linha de uma tabela
  • string - é para pequenos tipos de dados, como um título. ( Você deve escolher string ou texto? )
  • texto - é para dados mais longos de texto, como um parágrafo de informações.
  • tempo - é apenas para o tempo
  • registro de data e hora - para armazenar data e hora em uma coluna.

Espero que ajude alguém! Além disso, aqui está a lista oficial: http://guides.rubyonrails.org/migrations.html#supported-types

lflores
fonte