Rails 4: Elenco dei tipi di dati disponibili

Dove posso trovare un elenco di tipi di dati che possono essere utilizzati in Ruby on Rails 4? Ad esempio

  • text
  • string
  • integer
  • float
  • date

Continuo a conoscerne di nuovi e mi piacerebbe avere una lista a cui potrei facilmente riferire.

Ecco tutti i tipi di dati Rails 4 (ActiveRecord migration):

  • :binary
  • :boolean
  • :date
  • :datetime
  • :decimal
  • :float
  • :integer
  • :bigint
  • :primary_key
  • :references
  • :string
  • :text
  • :time
  • :timestamp

Fonte: http://api.rubyonrails.org/classs/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_column
Questi sono gli stessi di Rails 3 .

Se usi PostgreSQL, puoi anche approfittare di questi:

  • :hstore
  • :json
  • :jsonb
  • :array
  • :cidr_address
  • :ip_address
  • :mac_address

Vengono archiviati come stringhe se si esegue l’app con un database non PostgreSQL.

Modifica, 2016-Set-19:

Ci sono molti più tipi di dati specifici di Postgres in Rails 4 e ancora di più in Rails 5.

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

  • :string – è per tipi di dati di piccole dimensioni come un titolo. ( Dovresti scegliere una corda o un testo? )
  • :text – è per pezzi di testo più lunghi, come un paragrafo di informazioni
  • :binary – serve per memorizzare dati come immagini, audio o filmati.
  • :boolean – serve per memorizzare valori veri o falsi.
  • :date – memorizza solo la data
  • :datetime – memorizza la data e l’ora in una colonna.
  • :time – è solo per il tempo
  • :timestamp – per memorizzare data e ora in una colonna. ( Qual è la differenza tra datetime e timestamp? )
  • :decimal – è per decimali ( esempio di come utilizzare i decimali ).
  • :float – è per decimali. ( Qual è la differenza tra decimale e float? )
  • :integer : è per numeri interi.
  • :primary_key – chiave univoca che può identificare in modo univoco ogni riga in una tabella

Ci sono anche riferimenti usati per creare associazioni. Ma non sono sicuro che questo sia un tipo di dati effettivo .

Nuovi tipi di dati Rails 4 disponibili in PostgreSQL:

  • :hstore – memorizzazione di coppie chiave / valore in un singolo valore ( ulteriori informazioni su questo nuovo tipo di dati )
  • :array – una disposizione di numeri o stringhe in una particolare riga ( ulteriori informazioni su di esso e vedere esempi )
  • :cidr_address : utilizzato per indirizzi IPv4 o IPv6 host
  • :inet_address – utilizzato per indirizzi IPv4 o IPv6 host, come cidr_address ma accetta anche valori con bit diversi da zero a destra della maschera di rete
  • :mac_address : utilizzato per gli indirizzi host MAC

Ulteriori informazioni sui tipi di dati degli indirizzi qui e qui .

Inoltre, ecco la guida ufficiale sulle migrazioni: http://edgeguides.rubyonrails.org/migrations.html

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

inserisci la descrizione dell'immagine qui

inserisci la descrizione dell'immagine qui


Fonte aggiunta – Sviluppo Web agile con Rails 4

Puoi accedere a questo elenco ogni volta che vuoi (anche se non hai accesso a Internet) tramite:

 rails generate model -h 

Rails4 ha alcuni tipi di dati aggiunti per Postgres.

Ad esempio, railscast # 400 ne nomina due:

Rails 4 ha il supporto per i tipi di dati nativi in ​​Postgres e mostreremo due di questi qui, anche se molti di più sono supportati: array e hstore. Possiamo archiviare array in una colonna di tipo stringa e specificare il tipo per hstore.

Inoltre, puoi anche usare cidr, inet e macaddr. Per maggiori informazioni:

https://blog.engineyard.com/2013/new-in-rails-4