Rails 4: lista dostępnych typów danych
Gdzie mogę znaleźć listę typów danych, które mogą być użyte w Ruby on Rails 4? Takie jak
-
text
-
string
-
integer
-
float
-
date
Ciągle uczę się o nowych i chciałbym mieć listę, do której mógłbym się łatwo odnieść.
5 answers
W tym miejscu znajdziesz wszystkie typy danych Rails 4 (migracja ActiveRecord):]}
:binary
:boolean
:date
:datetime
:decimal
:float
:integer
:bigint
:primary_key
:references
:string
:text
:time
:timestamp
Źródło: http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_column
Są to tak samo jak w Rails 3 .
Jeśli używasz PostgreSQL, możesz również skorzystać z tych:
:hstore
:json
:jsonb
:array
:cidr_address
:ip_address
:mac_address
Są one przechowywane jako ciągi znaków, jeśli uruchomisz aplikację z bazą danych nie-PostgreSQL.
Edycja, 2016-Wrzesień-19:
Jest o wiele więcej specyficznych typów danych postgres w Rails 4 i nawet więcej {[55] } W Rails 5.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:34:50
Warto również wiedzieć, do czego służą te typy danych:
-
:string
- jest dla małych typów danych, takich jak tytuł. (należy wybrać string lub text?) -
:text
- jest dla dłuższych fragmentów danych tekstowych, takich jak akapit informacji -
:binary
- służy do przechowywania danych, takich jak obrazy, audio lub filmy. -
:boolean
- służy do przechowywania wartości true lub false. -
:date
- przechowuj tylko datę -
:datetime
- Zapisz datę i godzinę w kolumnie. -
:time
- jest tylko dla czasu -
:timestamp
- do przechowywania daty i czasu w kolumnie.(Jaka jest różnica między datetime a timestamp?) - {[8] } - jest dla dziesiętnych ( przykład użycia dziesiętnych).
-
:float
- jest dla dziesiętnych. (Jaka jest różnica między decimal a float?) -
:integer
- jest dla liczb całkowitych. -
:primary_key
- unikalny klucz, który może jednoznacznie zidentyfikować każdy wiersz w tabeli
Istnieją również odniesienia używane do tworzenia skojarzeń. Ale, Nie jestem pewien, czy to jest rzeczywisty typ danych .
Nowe typy danych Rails 4 Dostępne w PostgreSQL:
-
:hstore
- przechowywanie par klucz / wartość w jednej wartości (dowiedz się więcej o tym nowym typie danych) -
:array
- układ liczb lub ciągów w określonym wierszu (dowiedz się więcej o tym i zobacz przykłady ) -
:cidr_address
- używany do Adresy hostów IPv4 lub IPv6 -
:inet_address
- używany dla adresów hostów IPv4 lub IPv6, taki sam jak cidr_address, ale akceptuje również wartości z niezerowymi bitami po prawej stronie maski sieci -
:mac_address
- używany dla adresów hostów MAC
Dowiedz się więcej o typach danych adresowych tutaj i tutaj .
Oto także oficjalny przewodnik po migracjach: http://edgeguides.rubyonrails.org/migrations.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:27
Ważne jest, aby znać nie tylko typy, ale także mapowanie tych typów do typów bazy danych:
Source added- Agile Web Development with Rails 4
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-15 17:44:05
Możesz uzyskać dostęp do tej listy za każdym razem, gdy chcesz (nawet jeśli nie masz dostępu do Internetu) przez:
rails generate model -h
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-07 13:43:30
Rails4 ma dodane typy danych dla Postgres.
Na przykład railscast # 400 wymienia dwa z nich:Rails 4 ma wsparcie dla natywnych typów danych w Postgres i pokażemy dwa z nich tutaj, chociaż jest ich dużo więcej: array i hstore. Możemy przechowywać tablice w kolumnie typu string i określić typ dla hstore.
Poza tym możesz również użyć cidr, inet i macaddr. Więcej informacja:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-29 07:26:27