Rails 3 datatypes?

Gdzie mogę znaleźć listę typów danych, które mogą być użyte w rails 3? (np. text, string, integer, float, date, itd.?) Ciągle losowo dowiaduję się o nowych, ale chciałbym mieć listę, do której mógłbym się łatwo odwołać.

Author: Simone Carletti, 2011-01-13

4 answers

Oto wszystkie typy danych Rails3 (migracja ActiveRecord):

:binary
: boolean
:date
: datetime
: decimal
: float
: integer
: primary_key
: referencje
: string
: tekst
: czas
:timestamp

Źródło

 269
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-10-31 19:07:54

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

Dla przykładu zauważ, że w MS SQL Server używamy:

  1. stare "datetime" zamiast "datetime2"
  2. dziesiętny z domyślną precyzją
  3. tekst i varchar zamiast nvarchar
  4. int (nie można użyć tiny int/small int/big int)
  5. obraz zamiast BLOB
 67
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
2013-07-26 12:47:17

Czy masz na myśli definiowanie migracji active record? a może chodzi Ci o typy danych Ruby?

Oto link, który może pomóc w tworzeniu migracji:

Myśl ortogonalna-typy danych MySQL i Ruby on Rails

 26
Author: Tim Stephenson,
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
2015-01-17 14:23:51

Pomocne może być ogólne poznanie, do czego służą te typy danych:

  • binarny - 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-przechowuje datę i czas w kolumnie.
  • dziesiętne - oznacza dziesiętne.
  • float - jest dla dziesiętnych. (Jaka jest różnica między decimal a float?)
  • integer - jest dla całości liczby.
  • primary_key-unikalny klucz, który może jednoznacznie zidentyfikować każdy wiersz w tabeli
  • string-jest dla małych typów danych, takich jak tytuł. (należy wybrać string lub text?)
  • tekst - dotyczy dłuższych fragmentów danych tekstowych, np. akapitu informacji.
  • Czas - jest tylko dla czasu
  • timestamp-do przechowywania daty i czasu w kolumnie.

Mam nadzieję, że to komuś pomoże! A oto oficjalna lista: http://guides.rubyonrails.org/migrations.html#supported-types

 15
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:09:54