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ść.

Author: Flip, 2013-07-29

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.

 593
Author: Nicolas Raoul,
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

 223
Author: lflores,
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:

Tutaj wpisz opis obrazka

Tutaj wpisz opis obrazka


Source added- Agile Web Development with Rails 4

 145
Author: gotqn,
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
 72
Author: tomascharad,
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:

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

 5
Author: Peter de Ridder,
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