web-dev-qa-db-fra.com

Pourquoi rake db: migrate: reset ne figure pas dans rake -T?

Pourquoi certaines tâches de râteau ne sont-elles pas répertoriées par rake -T? Comme db:migrate:reset? Je peux l'exécuter sans problème, mais pourquoi n'y figure-t-il pas? Existe-t-il un moyen d'obtenir une véritable liste complète des tâches de râteau?

% rake -T 
 (dans /home/zeus/projects/my_project)[.____. depositedro à propos de # Liste des versions de tous les Rails frameworks et les environnement 
 rake db: create # Créez la base de données à partir de config/database.yml pour l'actuel Rails.env (utilisez db: create: all pour créer tous les dbs dans la configuration) 
 rake db: drop # Supprime la base de données du fichier Rails.env actuel (utilisez db: drop: all pour supprimer toutes les bases de données) 
 Rake db: fixtures: load # Charge les luminaires dans la base de données de l'environnement actuel. 
 Rake db: migrate # Migrer la base de données (options: VERSION = x, VERBOSE = false). 
 rake db: migrate: status # Afficher l'état des migrations 
 rake db: rollback # Rétablit le schéma sur le précédent version (spécifiez les étapes avec STEP = n). 
 rake db: schema: dump # Créez un fichier db/schema.rb qui peut être utilisé de manière portative sur toute base de données prise en charge par AR 
 rake db: schema: load # Charge un fichier schema.rb dans la base de données 
 rake db: seed # Charger les données de départ à partir de db/seeds.rb 
 Rake db: setup # Créer la base de données, charger le schéma et initialiser avec les données de départ (utiliser db: reset pour supprimer également la base de données en premier) 
 rake db: structure: dump # Vider la structure de la base de données dans un fichier SQL 
 rake db: version # Récupère le numéro de version du schéma actuel 
 rake doc: app # Génère des documents pour l'application - également disponible doc: Rails, doc: guides, doc: plugins (options: TEMPLATE =/rdoc-template.rb, TITLE = "Custom Title") 
 rake erd # Générez un diagramme Entité-Relation basé sur vos modèles 
 rake log: clear # Tronque tous les fichiers * .log dans le journal/à zéro octet 
 rake middleware # Imprime votre pile de middleware Rack 
 rake notes # Énumère toutes les annotations (utilisez les notes : optimisation,: fixme,: tâche à effectuer pour le focus) 
 notes de râteau: personnalisé # Énumérer une annotation personnalisée, spécifiez avec ANNOTATION = CUSTOM 
 rake Rails: modèle # Applique e Le modèle fourni par LOCATION =/path/to/template 
 rake Rails: update # Mettre à jour les configurations et public/javascripts à partir de Rails (ou utiliser simplement update: javascripts ou update: configs) 
 rake routes # Imprime toutes les routes définies dans l'ordre des correspondances, avec les noms. 
 rake secret # Génère une clé secrète sécurisée sur le plan cryptographique (elle est généralement utilisée pour générer un secret pour les sessions de cookies). 
 rake spec # Exécute toutes les spécifications dans le répertoire spec (à l'exception des spécifications du plugin) 
 rake spec: acceptation # Exécute les exemples de code dans spec/acceptation 
 rake spec: contrôleurs # Exécute le code exemples dans spec/controllers 
 rake spec: helpers # Exécutez les exemples de code dans spec/helpers 
 rake spec: lib # Exécutez les exemples de code dans spec/lib 
 rake spec: mailers # Exécutez les exemples de code dans spec/mailers 
 Rake spec: models # Exécutez les exemples de code dans spec/models 
 Rake spec: rcov # Exécutez toutes les spécifications wi th rcov 
 rake spec: demandes # Exécutez les exemples de code dans spec/requests 
 rake spec: routage # Exécutez les exemples de code dans spec/routing 
 rake spec: vues # Exécutez le exemples de code dans les spécifications/vues 
 rake stats # Signaler les statistiques de code (KLOC, etc.) de l'application 
 rake test # Exécute test: units, test: functionals, test: integration together (également disponible: test: benchmark, test: profile, test: plugins) 
 rake test: récent # Exécuter des tests pour recenttest: préparer/tester les modifications récentes 
 rake test: non engagé # Exécuter des tests pour uncommittedtest: préparer/tester changements depuis le dernier enregistrement (uniquement Subversion et Git) 
 rake time: zones: all # Affiche tous les fuseaux horaires, également disponible: time: zones: us, time: zones: local - filtre avec paramètre OFFSET, par exemple, OFFSET = -6 
 Rake tmp: clear # Effacer les fichiers de session, cache et socket de tmp/(étroit w/tmp: sessions: clear, tmp: cache: clear, tmp: sockets: clear) 
 râteau tmp: create # Crée des répertoires tmp pour les sessions, le cache, les sockets et les pids 
73
Zardoz

Les tâches qui n'ont pas de description n'apparaîtront pas.

EDIT: On dirait que DHH a supprimé la description de Rails 3 pour quelques tâches pour "réduire le bruit". Rake db: setup a une note sur db: reset cependant.

http://github.com/Rails/rails/commit/983815632cc1d316c7c803a47be28f1abe6698fb

79
Peter Brown

Vous pouvez aussi utiliser rake db -T -A pour afficher toutes les tâches, même celles qui ne sont pas commentées. Pour référence, ces commutateurs procèdent comme suit:

-T, --tasks [PATTERN]    Display the tasks (matching optional PATTERN) with 
                         descriptions, then exit.
-A, --all                Show all tasks, even uncommented ones (in combination 
                         with -T or -D)
62
Thomas Obermüller

Vous pouvez utiliser rake -P | grep rake pour afficher les noms de toutes les tâches de râteau.

39
cvshepherd

Dans le prolongement de la réponse de Thomas Obermüller, puisque le drapeau -T prend un argument positionnel, pour obtenir uniquement les tâches d'espace de noms 'db' (au moins avec le rake 10.0.3), vous devez faire: rake -T db -A

7
Joe

Sur ce WIKI - Ruby on Rails/ActiveRecord/Migrations vous pouvez trouver plus d'informations.

1
p1100i

Pour les utilisateurs de Windows, vous faites cela rake -P | find "rake"

1
Arman Ortega