Rails 3 types de données?

158

Où puis-je trouver une liste des types de données pouvant être utilisés dans les rails 3? (comme le texte, la chaîne, l'entier, le flottant, la date, etc.?) Je continue à en apprendre au hasard sur de nouveaux, mais j'aimerais avoir une liste à laquelle je pourrais facilement me référer.

Elliot
la source

Réponses:

270

Voici tous les Rails3types de données (migration ActiveRecord):

: binaire
: booléen
: date
: datetime
: décimal
: float
: entier
: primary_key
: références
: chaîne
: texte
: heure
: horodatage

La source

Nicolas Raoul
la source
4
et: références pour les associations polymorphes. Voir: api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters
Ethan
le guide a changé. Peut-être qu'un lien vers la documentation pertinente devrait le remplacer.
Harry Moreno
1
@HarryMoreno: Merci pour le tuyau! J'ai mis à jour la référence, merci de me faire savoir si vous en trouvez une meilleure.
Nicolas Raoul
Les références ne se limitent pas aux associations polymorphes. Et je ne le compterais pas comme un type de données.
Pascal
67

Il est important de connaître non seulement les types, mais également le mappage de ces types avec les types de base de données:

entrez la description de l'image ici

entrez la description de l'image ici

Par exemple, notez que dans MS SQL Server, nous utilisons:

  1. l'ancien "datetime" au lieu de "datetime2"
  2. décimal avec sa précision par défaut
  3. text et varchar à la place nvarchar
  4. int (impossible d'utiliser tiny int / small int / big int)
  5. image au lieu de BLOB
gotqn
la source
2
Comme trouver sur ce blog . Le tinyint / smallint / bigint peut être défini en utilisant l'option: limit avec: integer. Je l'ai testé sur Rails 3 et MySQL, ils fonctionnent toujours, comme dit dans le blog, ils sont des entiers signés.
RacsO
16

Il peut être utile de savoir de manière générale à quoi servent ces types de données:

  • binaire - sert à stocker des données telles que des images, de l'audio ou des films.
  • booléen - est pour stocker des valeurs vraies ou fausses.
  • date - stocker uniquement la date
  • datetime - stocke la date et l'heure dans une colonne.
  • decimal - est pour les décimales.
  • float - est pour les décimales. ( Quelle est la différence entre decimal et float? )
  • entier - est pour les nombres entiers.
  • primary_key - clé unique qui peut identifier de manière unique chaque ligne dans une table
  • string - est pour les petits types de données comme un titre. ( Devriez-vous choisir une chaîne ou du texte? )
  • text - est pour de plus longs morceaux de données textuelles, comme un paragraphe d'information.
  • le temps - est pour le temps seulement
  • horodatage - pour stocker la date et l'heure dans une colonne.

J'espère que cela aide quelqu'un! Aussi, voici la liste officielle: http://guides.rubyonrails.org/migrations.html#supported-types

lflores
la source