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.
ruby-on-rails
ruby
ruby-on-rails-4
rails-activerecord
Nicolas Raoul
la source
la source
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
:timestamp
Source: 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_address
Ils 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.
la source
text
de type de données. Pourtant, les rails peuvent encore le gérer? Que se passe-t-il en arrière-plan?nil
dans une base de données non postgres. Vous pouvez inspecter le type dans la console avecModel.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
la source
uuid
type qui peut être utilisé comme champ normal commet.uuid :name...
ou comme clé primaire commecreate_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 comprennentmoney
,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
la source
NATIVE_DATABASE_TYPES
adaptateur 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:
la source
Rails4 a quelques types de données ajoutés pour Postgres.
Par exemple, railscast # 400 en nomme deux:
En outre, vous pouvez également utiliser cidr, inet et macaddr. Pour plus d'informations:
https://blog.engineyard.com/2013/new-in-rails-4
la source