Je sais que vous pouvez demander à ActiveRecord de répertorier les tables dans la console en utilisant:
ActiveRecord::Base.connection.tables
Existe-t-il une commande qui listerait les colonnes dans une table donnée?
Je sais que vous pouvez demander à ActiveRecord de répertorier les tables dans la console en utilisant:
ActiveRecord::Base.connection.tables
Existe-t-il une commande qui listerait les colonnes dans une table donnée?
Cela listera les noms de colonne d'une table
Model.column_names
e.g. User.column_names
Model.columns
pour obtenir plus d'informations sur les colonnes, y compris les données de configuration de la base de données.Model.columns
fournit toutes les informations d'une table via ActiveRecord. Pour moi, c'était le seul et le plus simple moyen de gagner en confiance en ce qu'était vraiment ma clé primaire au niveau de la base de données.Cela obtient les colonnes, pas seulement les noms de colonnes et utilise ActiveRecord :: Base :: Connection, donc aucun modèle n'est nécessaire. Pratique pour sortir rapidement la structure d'une base de données.
Exemple de sortie: http://screencast.com/t/EsNlvJEqM
la source
primary
correctement l' attribut (toutes les colonnes l'ontprimary=nil
). Il est défini correctement avec laModel.columns
méthode suggérée par srt32.En utilisant les rails trois, vous pouvez simplement taper le nom du modèle:
Dans les rails quatre, vous devez d'abord établir une connexion:
la source
Si vous êtes à l'aise avec les commandes SQL, vous pouvez entrer le dossier de votre application et l'exécuter
rails db
, qui est une forme brève derails dbconsole
. Il entrera dans le shell de votre base de données, que ce soit sqlite ou mysql.Ensuite, vous pouvez interroger les colonnes de la table à l'aide de la commande sql comme:
la source
describe your_table;
, pas parfait mais fonctionneVous pouvez exécuter
rails dbconsole
dans votre outil de ligne de commande pour ouvrir la console sqlite. Tapez ensuite.tables
pour lister toutes les tables et.fullschema
pour obtenir une liste de toutes les tables avec les noms et types de colonnes.la source
Pour lister les colonnes dans un tableau que je vais habituellement avec ceci:
Model.column_names.sort
.i.e. Orders.column_names.sort
Le tri des noms de colonnes permet de trouver facilement ce que vous recherchez.
Pour plus d' informations sur chacune des colonnes utilisent ceci:
Model.columns.map{|column| [column.name, column.sql_type]}.to_h
.Cela fournira un bon hachage. par exemple:
la source
en complément de ces informations utiles, par exemple en utilisant les rails console o rails dbconsole:
L'élève est mon modèle, en utilisant la console de rails:
Autre option utilisant SQLite via Rails:
Enfin pour plus d'informations.
J'espère que cela t'aides!
la source
Pour un format plus compact et moins de saisie, il suffit de:
la source