Rails 3 tipi di dati?


158

Dove posso trovare un elenco di tipi di dati che possono essere utilizzati in Rails 3? (come testo, stringa, numero intero, float, data, ecc.) Continuo a conoscere casualmente quelli nuovi, ma mi piacerebbe avere un elenco a cui potrei facilmente fare riferimento.

Risposte:


270

Ecco tutti i Rails3tipi di dati (migrazione ActiveRecord):

: binario
: booleano
: data
: datetime
: decimale
: float
: intero
: chiave_ primaria
: riferimenti
: stringa
: testo
: tempo
: data / ora

fonte


4
e: riferimenti per associazioni polimorfiche. Vedi: api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/…
Ethan

la guida è cambiata. Forse un link alla documentazione pertinente dovrebbe sostituirlo.
Harry Moreno,

1
@HarryMoreno: Grazie per il suggerimento! Ho aggiornato il riferimento, per favore fatemi sapere se ne trovate uno migliore.
Nicolas Raoul,

I riferimenti non si limitano alle associazioni polimorfiche. E non lo considero un tipo di dati.
Pascal,

67

È importante conoscere non solo i tipi ma anche il mapping di questi tipi ai tipi di database:

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Ad esempio, si noti che in MS SQL Server stiamo usando:

  1. il vecchio "datetime" invece di "datetime2"
  2. decimale con la sua precisione predefinita
  3. text e varchar invece nvarchar
  4. int (non è possibile utilizzare tiny int / small int / big int)
  5. immagine invece BLOB

2
Come trovare da questo blog . Tinyint / smallint / bigint può essere impostato usando: limite opzione con: intero. L'ho testato su Rails 3 e MySQL, stanno ancora funzionando, proprio come detto nel blog, sono firmati interi.
Racs,


16

Potrebbe essere utile sapere in genere a cosa servono questi tipi di dati:

  • binario: serve per archiviare dati come immagini, audio o filmati.
  • booleano: serve per memorizzare valori veri o falsi.
  • data - memorizza solo la data
  • datetime: archivia la data e l'ora in una colonna.
  • decimale - è per i decimali.
  • float - è per i decimali. ( Qual è la differenza tra decimale e float? )
  • intero - è per numeri interi.
  • primary_key - chiave univoca che può identificare in modo univoco ogni riga in una tabella
  • stringa - è per piccoli tipi di dati come un titolo. ( Dovresti scegliere una stringa o un testo? )
  • testo - è per pezzi di dati testuali più lunghi, come un paragrafo di informazioni.
  • time - è solo per il tempo
  • timestamp - per memorizzare la data e l'ora in una colonna.

Spero che aiuti qualcuno! Inoltre, ecco l'elenco ufficiale: http://guides.rubyonrails.org/migrations.html#supported-types

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.