2015-07-15 12 views
7

Ich renne rails server und rails console in Ubuntu 14.04 innerhalb der generischen Terminal (App heißt nur "Terminal").Was bedeuten die Farben der Ausgabe in der Rails-Konsole und im Rails-Serverprotokoll?

Immer wenn ich Befehle ausführen, die die Datenbank einbeziehen, gibt die Konsole die SQL-Abfrage aus, die sie gesendet hat, aber manchmal hat der Text eine türkise Farbe und manchmal eine violette Farbe. Zum Beispiel in dieser Ausgabe der Konsole:

2.2.2 :025 > pl = ProjectLevel.find_by(name: 'Premium') 

ProjectLevel Load (0.5ms) SELECT "project_levels".* FROM "project_levels" WHERE "project_levels"."deleted_at" 
IS NULL AND "project_levels"."name" = $1 LIMIT 1 [["name", "Premium"]] 

=> #<ProjectLevel id: 1, name: "Premium", deleted_at: nil, created_at: "2015-07-15 15:45:40", updated_at: "2015-07-15 15:45:40"> 

(Die Farben, die hier auftauchen sind nicht das gleiche wie meine Konsole)

Der Teil, der ProjectLevel Load (0.5ms) manchmal sagt turqoise sein wird, aber manchmal lila sein, aber jeder anderer Teil des Textes ist. Bedeutet diese Farbe überhaupt etwas? Erzählst du mir etwas über den Erfolg der Abfrage oder die zurückgegebenen Daten? Normalerweise sind solche Dinge in Rails ziemlich intuitiv (wie wenn eine Test-Suite grünen Text vs. roten Text zurückgibt, um zu sagen, ob die Tests erfolgreich waren), aber ich kann nichts darüber finden, wo diese Farben herkommen

Antwort

11

in Rails 5 zeigen die Farben der Art der Abfrage:

  • Blau für wählt

    enter image description here

  • Gelb für Updates

    enter image description here

  • Grün für Einsätze

    enter image description here

  • Rot für Löschungen

    enter image description here

Neben verschiedenen anderen Farben für Dinge wie alter table oder begin/commit Aussagen.


Vor Rails 5 bedeuten die Farben nichts. Sie wechseln einfach hin und her, sodass Sie leicht erkennen können, wo eine Abfrage endet und die nächste Abfrage beginnt.

10.times { Photo.all } ergibt:

enter image description here

+0

, die mir kontraintuitiv erscheint. Diese ganze Zeit dachte ich, dass die violetten die Abfrage auslösten (ich hatte nicht genug nebeneinander, um zu sehen, dass die Farben sich nur abwechselten). Aber jetzt weiß ich es wenigstens! – StephanieS

+0

Gibt es eine Möglichkeit, die Farben anzupassen? – jedi

+0

Nevermind, ich habe es gefunden, editieren Sie einfach ~/.rvm/edelsteine ​​/ ruby-2.3.1/edelsteine ​​/ activecord-5.1.4/lib/active_record/log_subscriber.rb und bearbeiten Sie die Farbe und starten Sie den Server neu. – jedi