Wo finde ich eine Liste der Datentypen, die in Ruby auf Rails 4 verwendet werden können? Sowie
text
string
integer
float
date
Ich lerne immer wieder Neues und hätte gerne eine Liste, auf die ich mich leicht beziehen kann.
Hier sind alle Rails 4-Datentypen (ActiveRecord-Migration):
:binary
:boolean
:date
:datetime
:decimal
:float
:integer
:bigint
:primary_key
:references
:string
:text
:time
:timestamp
Quelle: http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_column
Dies sind die gleichen wie bei Rails .
Wenn Sie PostgreSQL verwenden, können Sie auch folgende Vorteile nutzen:
:hstore
:json
:jsonb
:array
:cidr_address
:ip_address
:mac_address
Sie werden als Zeichenfolgen gespeichert, wenn Sie Ihre App mit einer Nicht-PostgreSQL-Datenbank ausführen.
Bearbeiten, 19. September 2016:
Es gibt viel mehr postgres-spezifische Datentypen in Rails 4 und noch mehr in Rails 5.
Möglicherweise ist es auch hilfreich zu wissen, wofür diese Datentypen verwendet werden:
:string
- ist für kleine Datentypen wie einen Titel. ( Solltest du eine Zeichenkette oder einen Text wählen? ):text
- steht für längere Textdaten, z. B. einen Informationsabsatz:binary
- Dient zum Speichern von Daten wie Bildern, Audiodaten oder Filmen.:boolean
- dient zum Speichern von wahren oder falschen Werten.:date
- Nur das Datum speichern:datetime
- Speichern Sie Datum und Uhrzeit in einer Spalte.:time
- ist nur für die Zeit:timestamp
- zum Speichern von Datum und Uhrzeit in einer Spalte. ( Was ist der Unterschied zwischen Datum und Uhrzeit? ):decimal
- steht für Dezimalstellen ( Beispiel für die Verwendung von Dezimalstellen ).:float
- steht für Dezimalstellen. ( Was ist der Unterschied zwischen dezimal und float? ):integer
- steht für ganze Zahlen.:primary_key
- eindeutiger Schlüssel, mit dem jede Zeile in einer Tabelle eindeutig identifiziert werden kannEs gibt auch Referenzen zum Erstellen von Assoziationen. Aber Ich bin nicht sicher, ob dies ein tatsächlicher Datentyp ist .
Neue Rails 4 Datentypen in PostgreSQL verfügbar:
:hstore
- Speichern von Schlüssel/Wert-Paaren in einem einzelnen Wert ( Weitere Informationen zu diesem neuen Datentyp ):array
- eine Anordnung von Zahlen oder Zeichenketten in einer bestimmten Zeile ( erfahren Sie mehr darüber und sehen Sie Beispiele ):cidr_address
- Wird für IPv4- oder IPv6-Hostadressen verwendet:inet_address
- Wird für IPv4- oder IPv6-Hostadressen verwendet, wie cidr_address, akzeptiert jedoch auch Werte mit Bits ungleich Null rechts von der Netzmaske:mac_address
- Wird für MAC-Hostadressen verwendetErfahren Sie mehr über die Adressdatentypen hier und hier .
Hier ist auch der offizielle Leitfaden zu Migrationen: http://edgeguides.rubyonrails.org/migrations.html
Es ist wichtig, nicht nur die Typen zu kennen, sondern auch die Zuordnung dieser Typen zu den Datenbanktypen:
Quelle hinzugefügt - Agile Web Development mit Rails 4
Sie können jederzeit auf diese Liste zugreifen (auch wenn Sie keinen Internetzugang haben) über:
Rails generate model -h
Rails4 hat einige Datentypen für Postgres hinzugefügt.
Railscast Nr. 400 nennt beispielsweise zwei davon:
Rails 4 unterstützt native Datentypen in Postgres und wir werden hier zwei davon zeigen, obwohl noch viel mehr unterstützt werden: array und hstore. Wir können Arrays in einer Spalte vom Typ string speichern und den Typ für hstore angeben.
Außerdem können Sie auch cidr, inet und macaddr verwenden. Für mehr Informationen: