7
votes

Voir toutes les tables, tous les enregistrements de la console?

Comment puis-je afficher les comptes enregistrés actuels de toutes mes tables de base de données dans une commande à l'aide de la console? Merci!


0 commentaires

4 Réponses :


1
votes

Cela pourrait être un peu plus long que ce que vous espérait, mais j'espère que cela aide; -)

Dir.glob('app/models/*.rb').each {|file| puts eval(File.basename(file, ".rb").classify + '.count').to_s + " #{File.basename(file, ".rb").classify.pluralize}"}


1 commentaires

Salut Dave, merci pour ça! J'ai une erreur particulière - j'ai un modèle appelé «adresse» et en raison de la pluralisation, cela me donne l'erreur NameError: adtres constants unitalisé . Désolé pour la question - comment puis-je passer devant cela?



16
votes

Cela le fera si vous avez "touché" toutes vos classes, mais uniquement pour les modèles réels: xxx

si vous voulez vraiment toutes les tables, y compris les tables de jointure qui ne correspondent pas aux modèles: xxx


3 commentaires

La deuxième commande me donne une erreur MySQL Vous avez une erreur dans votre syntaxe SQL ... Vérifiez la syntaxe de droite à utiliser à proximité de «références» à la ligne 1: sélectionnez Nombre (*) à partir de références .


"Références" est un mot réservé dans mysql ( dev.mysql. COM / DOC / REFMAN / 5.1 / FR / Réservé-words.html ). Cela fonctionnera probablement si vous mettez des devis ou des backcules autour de # {t}.


Pour PostgreSQL avec Rails 3.2.x, la 2e déclaration doit être modifiée à: activeCord :: base.connection.tables.map {| t | "# {t} =>" + activerecord :: base.connection.execute ("Sélectionnez le nombre (*) de # {t}"). Premièrement ['Compte']}



16
votes
ActiveRecord::Base.connection.tables
this will return an array of the tables you have, if you find it useful.

0 commentaires

0
votes

J'essayais de faire cela et je suis venu avec ma propre façon de le faire.

J'aime encapsuler si dans un modèle appelé Maintenance qui n'est pas un modèle d'enregistrement actif

mon modèle ressemble à xxx

J'espère que cela aide


0 commentaires