Ausgabe in Rake-Task unterdrücken db: schema: load

7

Wie können Sie die Ausgabe von db: load: schema unterdrücken? Ausführen

%Vor%

mit den Optionen -s , -q oder sogar VERBOSE=false macht keinen Unterschied in der Ausgabe; der gleiche "create_table ... add_index ..." Müll, den ich nicht sehen möchte, erscheint. Ich rufe dies aus einer benutzerdefinierten Rake-Aufgabe heraus, und ich möchte nicht, dass der Benutzer all das jedes Mal sieht.

UPDATE:

Ich löste das Problem mit einigen Anleitungen von @Deefour mit:

%Vor%

>NUL ist für Windows Maschinen, Unix-basiert kann > /dev/null verwenden.

statt

%Vor%

wie ich es bei meiner benutzerdefinierten Aufgabe gemacht habe. Beachten Sie, dass diese Lösung für Windows-Computer spezifisch ist. Für Unix-basierte Rechner stelle ich mir vor, Sie sollten die untenstehende akzeptierte Lösung verwenden können.

    
aguazales 22.08.2012, 18:44
quelle

2 Antworten

25

Hier ist eine sauberere Lösung, die systemübergreifend funktioniert:

%Vor%

auch

%Vor%

Ich bevorzuge silence_stream(STDOUT) bis quietly , weil es immer noch erlaubt, Fehlermeldungen, die in STDERR geschrieben sind, angezeigt zu bekommen, was hilfreich ist, wenn der Rake-Befehl beginnt zu agieren.

Referenzen: silence_stream , silence_warnings , & amp; ruhig

    
lightswitch05 31.12.2013, 18:02
quelle
3

Anstatt die Aufgabe mit Rake::Task['...'].invoke aufzurufen, können Sie den Befehl in einer Untershell ausführen und die Ausgabe an /dev/null umleiten.

%Vor%     
deefour 22.08.2012 19:43
quelle