Wo finde ich eine Liste der Datentypen, die in Ruby on Rails 4 verwendet werden können? Sowie
text
string
integer
float
date
Ich lerne immer wieder über neue und würde gerne eine Liste haben, auf die ich mich leicht beziehen kann.
Wo finde ich eine Liste der Datentypen, die in Ruby on Rails 4 verwendet werden können? Sowie
text
string
integer
float
date
Ich lerne immer wieder über neue und würde gerne eine Liste haben, auf die ich mich leicht beziehen kann.
Antworten:
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 3 .
Wenn Sie PostgreSQL verwenden, können Sie auch Folgendes 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.09.2016:
In Rails 4 gibt es viel mehr postgres-spezifische Datentypen und in Rails 5 noch mehr .
text
Datentyp zu haben . Trotzdem können Schienen damit umgehen? Was ist im Hintergrund los?
nil
in einer Nicht-Postgres-Datenbank. Sie können den Typ in der Konsole mit überprüfen Model.columns_hash["column_name"].type
. Dies sind nur Dinge, auf die ich bei der Verwendung gestoßen bin: json-Spaltentyp, ich kann mich irren und dies kann nicht jedem passieren, aber ich dachte, ich würde zukünftige Leser informieren, falls sie Probleme haben. Unabhängig davon +1 für diese Antwort, weil es mir wirklich geholfen hat.
Möglicherweise ist es auch hilfreich, allgemein zu wissen, wofür diese Datentypen verwendet werden:
:string
- ist für kleine Datentypen wie einen Titel. ( Sollten Sie Zeichenfolge oder Text wählen? ):text
- steht für längere Textdaten, z. B. einen Informationsabschnitt:binary
- dient zum Speichern von Daten wie Bildern, Audio 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
- ist für ganze Zahlen.:primary_key
- eindeutiger Schlüssel, der jede Zeile in einer Tabelle eindeutig identifizieren kannEs gibt auch Referenzen, die zum Erstellen von Assoziationen verwendet werden. Aber ich bin nicht sicher , dies ist ein tatsächlicher Datentyp .
Neue Rails 4-Datentypen in PostgreSQL verfügbar:
:hstore
- Speichern von Schlüssel / Wert-Paaren in einem einzelnen Wert ( erfahren Sie mehr über diesen neuen Datentyp ):array
- eine Anordnung von Zahlen oder Zeichenfolgen in einer bestimmten Zeile ( erfahren Sie mehr darüber und sehen Sie sich Beispiele an ):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 hier und hier mehr über die Adressdatentypen .
Hier ist auch der offizielle Leitfaden zu Migrationen: http://edgeguides.rubyonrails.org/migrations.html
uuid
Typ, der als normales Feld wie t.uuid :name...
oder als Primärschlüssel wie create_table :users, id: :uuid do...
oder zB verwendet werden kannt.primary_key :id, :uuid, :default => 'uuid_generate_v1()'
ActiveRecord::ConnectionAdapters::PostgreSQL::ColumnMethods
. Höhepunkte sind money
, json
, xml
,daterange
Es ist wichtig, nicht nur die Typen zu kennen, sondern auch die Zuordnung dieser Typen zu den Datenbanktypen:
Quelle hinzugefügt - Agile Webentwicklung 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 zusätzliche Datentypen für Postgres.
In Railscast Nr. 400 werden beispielsweise zwei davon genannt:
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: