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 un elenco a cui potrei facilmente fare riferimento.
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 un elenco a cui potrei facilmente fare riferimento.
Risposte:
Ecco tutti i tipi di dati di Rails 4 (migrazione 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
Questi sono gli stessi di Rails 3 .
Se usi PostgreSQL, puoi anche trarne vantaggio:
: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.
text
un tipo di dati. Tuttavia, le rotaie possono ancora gestirlo? Cosa succede in background?
nil
in un database non postgres. È possibile controllare il tipo nella console con Model.columns_hash["column_name"].type
. Queste sono solo cose che ho incontrato durante l'utilizzo: tipo di colonna json, potrei sbagliarmi e questo potrebbe non succedere a tutti, ma ho pensato di far sapere ai futuri lettori nel caso avessero problemi. Indipendentemente da ciò, +1 per questa risposta perché mi ha davvero aiutato.
Potresti anche trovare utile sapere in genere a cosa servono questi tipi di dati:
:string
- è per tipi di dati di piccole dimensioni come un titolo. ( Dovresti scegliere una stringa o un testo? ):text
- è per pezzi di dati testuali più lunghi, come un paragrafo di informazioni:binary
- è per la memorizzazione di 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 tempo:timestamp
- per memorizzare la data e l'ora in una colonna ( qual è la differenza tra datetime e timestamp? ):decimal
- è per i decimali ( esempio di come utilizzare i decimali ).:float
- è per i 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 tabellaCi sono anche riferimenti usati per creare associazioni. Ma non sono sicuro che si tratti di un tipo di dati reale .
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 ( scopri di più e vedi esempi ):cidr_address
- utilizzato per indirizzi host IPv4 o IPv6:inet_address
- utilizzato per gli indirizzi host IPv4 o IPv6, come per cidr_address ma accetta anche valori con bit diversi da zero a destra della maschera di rete:mac_address
- utilizzato per gli indirizzi host MACUlteriori informazioni sui tipi di dati dell'indirizzo qui e qui .
Inoltre, ecco la guida ufficiale sulle migrazioni: http://edgeguides.rubyonrails.org/migrations.html
uuid
tipo che può essere utilizzato come campo normale come t.uuid :name...
o come chiave primaria come create_table :users, id: :uuid do...
o ad es.t.primary_key :id, :uuid, :default => 'uuid_generate_v1()'
ActiveRecord::ConnectionAdapters::PostgreSQL::ColumnMethods
. Importanti anche money
, json
, xml
,daterange
È importante conoscere non solo i tipi ma anche il mapping di questi tipi ai tipi di database:
Fonte aggiunta - Sviluppo Web agile con Rails 4
NATIVE_DATABASE_TYPES
adattatore di cui hai bisogno - github.com/rails/rails/blob/master/activerecord/lib/…
Puoi accedere a questo elenco ogni volta che vuoi (anche se non hai accesso a Internet) tramite:
rails generate model -h
Rails4 ha aggiunto alcuni tipi di dati per Postgres.
Ad esempio, railscast # 400 ne nomina due:
Rails 4 ha il supporto per i tipi di dati nativi in Postgres e ne mostreremo due qui, sebbene ne siano supportati molti di più: array e hstore. È possibile memorizzare matrici in una colonna di tipo stringa e specificare il tipo per hstore.
Inoltre, puoi anche usare cidr, inet e macaddr. Per maggiori informazioni: