Warum ist Rake DB: Migrate: Reset nicht in Rake -T aufgeführt?

72

Warum werden einige Rechenaufgaben nicht von aufgelistet rake -T? Wie db:migrate:reset? Ich kann es problemlos ausführen, aber warum ist es dort nicht aufgeführt? Gibt es eine Möglichkeit, eine vollständige Liste der Rechenaufgaben zu erhalten?

% Rechen -T
(in / home / zeus / projects / my_project)
Rake about # Listet Versionen aller Rails-Frameworks und der Umgebung auf
rake db: create # Erstellt die Datenbank aus config / database.yml für die aktuelle Rails.env (verwenden Sie db: create: all, um alle dbs in der Konfiguration zu erstellen)
rake db: drop # Löscht die Datenbank für die aktuelle Rails.env (verwenden Sie db: drop: all, um alle Datenbanken zu löschen)
rake db: fixtures: load # Lädt Fixtures in die Datenbank der aktuellen Umgebung.
rake db: migrate # Migriert die Datenbank (Optionen: VERSION = x, VERBOSE = false).
Rake db: migrate: status # Zeigt den Status von Migrationen an
rake db: rollback # Rollt das Schema auf die vorherige Version zurück (geben Sie die Schritte w / STEP = n an).
rake db: schema: dump # Erstellen Sie eine db / schema.rb-Datei, die portabel für jede von AR unterstützte Datenbank verwendet werden kann
rake db: schema: load # Lädt eine schema.rb-Datei in die Datenbank
Rake db: seed # Lädt die Seed-Daten von db / seeds.rb
rake db: setup # Erstellen Sie die Datenbank, laden Sie das Schema und initialisieren Sie mit den Startdaten (verwenden Sie db: reset, um auch die Datenbank zuerst zu löschen).
rake db: struct: dump # Setzt die Datenbankstruktur in eine SQL-Datei
rake db: version # Ruft die aktuelle Versionsnummer des Schemas ab
Rake doc: app # Generiere Dokumente für die App - auch verfügbar doc: Rails, doc: Guides, doc: Plugins (Optionen: TEMPLATE = / rdoc-template.rb, TITLE = "Custom Title")
rake erd # Generieren Sie ein Entity-Relationship-Diagramm basierend auf Ihren Modellen
Rake-Protokoll: clear # Schneidet alle * .log-Dateien in log / auf null Byte ab
Rechen-Middleware # Druckt Ihren Rack-Middleware-Stapel aus
Rechennotizen # Zählen Sie alle Anmerkungen auf (verwenden Sie Notizen: Optimieren ,: Fixme ,: Aufgaben für den Fokus)
Rake Notes: custom # Zählen Sie eine benutzerdefinierte Annotation auf und geben Sie sie mit ANNOTATION = CUSTOM an
Rechenschienen: Vorlage # Wendet die von LOCATION = / path / to / template bereitgestellte Vorlage an
Rake Rails: Update # Aktualisieren Sie sowohl Configs als auch Public / Javascripts von Rails (oder verwenden Sie einfach Update: Javascripts oder Update: Configs).
Rechenrouten # Drucken Sie alle definierten Routen in übereinstimmender Reihenfolge mit Namen aus.
Rechengeheimnis # Generieren Sie einen krytografisch sicheren geheimen Schlüssel (dieser wird normalerweise verwendet, um ein Geheimnis für Cookie-Sitzungen zu generieren).
Rake-Spezifikation # Führen Sie alle Spezifikationen im Spezifikationsverzeichnis aus (ausgenommen Plugin-Spezifikationen).
Rechenspezifikation: Akzeptanz # Führen Sie die Codebeispiele in Spezifikation / Akzeptanz aus
Rechenspezifikation: Steuerungen # Führen Sie die Codebeispiele in Spezifikation / Steuerungen aus
Rechenspezifikation: Helfer # Führen Sie die Codebeispiele in Spezifikation / Helfern aus
Rake-Spezifikation: lib # Führen Sie die Codebeispiele in spec / lib aus
Rake-Spezifikation: Mailer # Führen Sie die Codebeispiele in Spezifikation / Mailer aus
Rechenspezifikation: Modelle # Führen Sie die Codebeispiele in Spezifikation / Modelle aus
Rechenspezifikation: rcov # Führen Sie alle Spezifikationen mit rcov aus
Rechenspezifikation: Anforderungen # Führen Sie die Codebeispiele in Spezifikation / Anforderungen aus
Rechenspezifikation: Routing # Führen Sie die Codebeispiele in Spezifikation / Routing aus
Rake-Spezifikation: Ansichten # Führen Sie die Codebeispiele in Spezifikation / Ansichten aus
Rake-Statistiken # Code-Statistiken (KLOCs usw.) aus der Anwendung melden
Rake-Test # Führt Test: Einheiten, Test: Funktionale, Test: Integration zusammen aus (auch verfügbar: Test: Benchmark, Test: Profil, Test: Plugins)
Rake-Test: Letzte # Führen Sie Tests für Letzte Tests durch: Bereiten Sie die letzten Änderungen vor / testen Sie sie
Rake-Test: nicht festgeschrieben # Tests für nicht festgeschriebenen Test ausführen: Änderungen seit dem letzten Einchecken vorbereiten / testen (nur Subversion und Git)
Rechenzeit: Zonen: alle # Zeigt alle Zeitzonen an, die ebenfalls verfügbar sind: Zeit: Zonen: us, Zeit: Zonen: lokal - Filter mit OFFSET-Parameter, z. B. OFFSET = -6
rake tmp: clear # Löscht Sitzungs-, Cache- und Socket-Dateien von tmp / (schmal w / tmp: Sitzungen: clear, tmp: cache: clear, tmp: sockets: clear)
rake tmp: create # Erstellt tmp-Verzeichnisse für Sitzungen, Cache, Sockets und Pids
Zardoz
quelle
Wenn ich Rake-T laufen lasse, wird angezeigt, welche Rails laufen Sie?
Thatmiddleway
Ich benutze Schienen 3.0.1. Auf zwei verschiedenen Systemen mit zwei verschiedenen Projekten. Es wird nicht auf beiden Systemen angezeigt (siehe vollständige Ausgabe im bearbeiteten Beitrag).
Zardoz

Antworten:

79

Aufgaben ohne Beschreibung werden nicht angezeigt.

BEARBEITEN: Es sieht so aus, als hätte DHH die Beschreibung für einige Aufgaben aus Rails 3 entfernt, um den Lärm zu reduzieren. Rake DB: Setup enthält jedoch einen Hinweis zu DB: Reset.

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

Peter Brown
quelle
34
Als jemand, der Rails lernt, habe ich viel Zeit damit verschwendet, eine gute, klare Dokumentation für die Rake-Aufgaben im Zusammenhang mit der Datenbankmigration zu finden.
Jan Hettich
63

Sie können auch rake db -T -Aalle Aufgaben anzeigen, auch nicht kommentierte. Als Referenz führen diese Schalter Folgendes aus:

-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)
Thomas Obermüller
quelle
3
Beachten Sie, dass die Option -A (oder --all) in Rake 10 hinzugefügt wurde.
Slothbear
1
rake -T -Azeigt alle Aufgaben. rake -T db -AZeigt alle Aufgaben an, die dbim Aufgabennamen enthalten sind (Position db nachher notieren -T).
Eliot Sykes
Funktioniert auch für Capistrano 3:cap -T rails -A
Koen.
41

Sie können verwenden rake -P | grep rake, um die Namen aller Rake-Aufgaben anzuzeigen.

cvshepherd
quelle
Genau das brauchte ich. Ich habe dies meinem bash_profile mit dem Alias ​​"raket" als solchem ​​hinzugefügt: # Zeigt alle verfügbaren Rake-Aufgaben an, einschließlich solcher, die keine Beschreibungen haben. alias raket = "rake -P | grep rake" Funktioniert hervorragend. Vielen Dank!
Donn Felker
8

Als Folge der Antwort von Thomas Obermüller müssen Sie Folgendes tun, da das -T-Flag ein Positionsargument enthält, um nur die 'db'-Namespace-Aufgaben (zumindest mit Rake 10.0.3) zu erhalten: rake -T db -A

Joe
quelle
1

Für Windows-Benutzer machen Sie diesen Rake -P | finde "Rechen"

Arman Ortega
quelle