2011-01-13 13 views
158

Gdzie mogę znaleźć listę typów danych, które mogą być używane w szynach 3? (takie jak tekst, ciąg, liczba całkowita, liczba zmiennoprzecinkowa, data itd.?) Ciągle uczę się o nowych, ale chciałbym mieć listę, do której mógłbym się łatwo odwołać.Szyny 3 typy danych?

Odpowiedz

269

Oto wszystkie Rails3 (ActiveRecord migracji) typy danych:

: binarny
: Boolean
: data
: datetime
: dziesiętna
: zmienna
: integer
: primary_key
: referencje
: string
: text
: czas
: datownik

Source

+4

oraz: referencje dla polimorficzny wspomnienia. Zobacz: http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/TableDefinition.html – Ethan

+0

przewodnik zmienił się. Może powinien go zastąpić odnośnik do odpowiedniej dokumentacji. –

+1

@HarryMoreno: Dzięki za cynk! Zaktualizowałem referencję, proszę dać mi znać, jeśli znajdziesz jakąś lepszą. –

15

To może być pomocne, aby wiedzieć, na ogół co te dane wykorzystywane są typy for:

  • plik binarny - służy do przechowywania danych, takich jak obrazy, audio lub filmy.
  • logiczna - służy do przechowywania wartości true lub false.
  • data - zapisz tylko datę:
  • datetime - zapisz datę i godzinę w kolumnie.
  • dziesiętnie - dotyczy miejsc po przecinku.
  • float - służy do ułamków dziesiętnych. (What's the difference between decimal and float?)
  • liczba całkowita - dotyczy liczb całkowitych.
  • primary_key - unikalny klucz, który może jednoznacznie identyfikować każdy wiersz tabeli
  • ciąg - jest przeznaczony dla małych typów danych, takich jak tytuł. (Should you choose string or text?)
  • tekst - dotyczy dłuższych fragmentów danych tekstowych, takich jak akapit informacji.
  • czas - tylko na czas
  • znacznik czasu - do przechowywania daty i czasu w kolumnie.

Mam nadzieję, że komuś pomóż!Również tutaj jest oficjalna lista: http://guides.rubyonrails.org/migrations.html#supported-types

67

Ważne jest, aby wiedzieć, nie tylko te typy ale odwzorowanie tych typów do typów baz danych, za:

enter image description here

enter image description here

Bo przykład, zauważ, że w MS SQL Server używamy:

  1. stare "datetime" zamiast "datetime2"
  2. dziesiętny z domyślnej precyzją
  3. tekst i varchar zamiast nvarchar
  4. int (nie można użyć niewielką INT/mały int/big int)
  5. obraz zamiast kropelka
+2

Jak znaleźć na [tym blogu] (http://ariejan.net/2009/08/20/once-and-for-all-rails-migrations-integer-limit-option/). Ustawienie tinyint/smallint/bigint można ustawić za pomocą opcji: limit z wartością: integer. Testowałem to na Railsach 3 i MySQL, nadal działają, tak jak powiedziano na blogu, są one oznaczone liczbą całkowitą. – RacsO