Où puis-je trouver une liste des types de données pouvant être utilisés dans Ruby on Rails 4? Tel que
textstringintegerfloatdate
Je continue à en apprendre de nouvelles et j'aimerais avoir une liste à laquelle je pourrais facilement me référer.
Où puis-je trouver une liste des types de données pouvant être utilisés dans Ruby on Rails 4? Tel que
text string integer float date Je continue à en apprendre de nouvelles et j'aimerais avoir une liste à laquelle je pourrais facilement me référer.
Réponses:
Voici tous les types de données Rails 4 (migration ActiveRecord):
:binary:boolean:date:datetime:decimal:float:integer:bigint:primary_key:references:string:text:time:timestampSource: http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_column
Ce sont les mêmes qu'avec Rails 3 .
Si vous utilisez PostgreSQL, vous pouvez également en profiter:
:hstore:json:jsonb:array:cidr_address:ip_address:mac_addressIls sont stockés sous forme de chaînes si vous exécutez votre application avec une base de données non PostgreSQL.
Edit, 2016-Sep-19:
Il y a beaucoup plus de types de données spécifiques postgres dans Rails 4 et encore plus dans Rails 5.
textde type de données. Pourtant, les rails peuvent encore le gérer? Que se passe-t-il en arrière-plan?
nildans une base de données non postgres. Vous pouvez inspecter le type dans la console avec Model.columns_hash["column_name"].type. Ce ne sont que des choses que j'ai rencontrées lors de l'utilisation: type de colonne json, je peux me tromper et cela peut ne pas arriver à tout le monde mais je pensais que je ferais savoir aux futurs lecteurs en cas de problèmes. Quoi qu'il en soit, +1 pour cette réponse car cela m'a vraiment aidé.
Vous pouvez également trouver utile de savoir de manière générale à quoi ces types de données sont utilisés:
:string- est pour les petits types de données comme un titre. ( Devriez-vous choisir une chaîne ou du texte? ):text - est destiné à des éléments textuels plus longs, comme un paragraphe d'information:binary - sert à stocker des données telles que des images, du son ou des films.:boolean - sert à stocker des valeurs vraies ou fausses.:date - stocker uniquement la date:datetime - stocker la date et l'heure dans une colonne. :time - est pour le temps seulement:timestamp- pour stocker la date et l'heure dans une colonne. ( Quelle est la différence entre datetime et timestamp? ):decimal- est pour les décimales ( exemple d'utilisation des décimales ).:float- est pour les décimales. ( Quelle est la différence entre décimal et flottant? ):integer - est pour les nombres entiers.:primary_key - clé unique qui peut identifier de manière unique chaque ligne d'un tableauIl existe également des références utilisées pour créer des associations. Mais je ne suis pas sûr que ce soit un type de données réel .
Nouveaux types de données Rails 4 disponibles dans PostgreSQL:
:hstore- stockage de paires clé / valeur dans une seule valeur (en savoir plus sur ce nouveau type de données ):array- un arrangement de nombres ou de chaînes dans une ligne particulière (en savoir plus à ce sujet et voir des exemples ):cidr_address - utilisé pour les adresses d'hôte IPv4 ou IPv6:inet_address - utilisé pour les adresses d'hôte IPv4 ou IPv6, comme cidr_address mais il accepte également des valeurs avec des bits non nuls à droite du masque de réseau:mac_address - utilisé pour les adresses d'hôte MACEn savoir plus sur les types de données d'adresse ici et ici .
Voici également le guide officiel des migrations: http://edgeguides.rubyonrails.org/migrations.html
uuidtype qui peut être utilisé comme champ normal comme t.uuid :name... ou comme clé primaire comme create_table :users, id: :uuid do...ou par exemplet.primary_key :id, :uuid, :default => 'uuid_generate_v1()'
ActiveRecord::ConnectionAdapters::PostgreSQL::ColumnMethods l' API pour . Faits saillants comprennent money, json, xml,daterange
Il est important de connaître non seulement les types mais aussi le mappage de ces types avec les types de base de données:


Source ajoutée - Développement Web Agile avec Rails 4
NATIVE_DATABASE_TYPESadaptateur dont vous avez besoin - github.com/rails/rails/blob/master/activerecord/lib/…
Vous pouvez accéder à cette liste à tout moment (même si vous n'avez pas accès à Internet) via:
rails generate model -h
Rails4 a quelques types de données ajoutés pour Postgres.
Par exemple, railscast # 400 en nomme deux:
Rails 4 prend en charge les types de données natifs dans Postgres et nous en montrerons deux ici, bien que beaucoup plus soient pris en charge: array et hstore. Nous pouvons stocker des tableaux dans une colonne de type chaîne et spécifier le type de hstore.
En outre, vous pouvez également utiliser cidr, inet et macaddr. Pour plus d'informations: