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
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
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)
Vous pouvez utiliser rake -P | grep rake
pour afficher les noms de toutes les tâches de râteau.
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
Sur ce WIKI - Ruby on Rails/ActiveRecord/Migrations vous pouvez trouver plus d'informations.
Pour les utilisateurs de Windows, vous faites cela rake -P | find "rake"