Ich weiß, dass Sie ActiveRecord bitten können, Tabellen in der Konsole aufzulisten, indem Sie:
ActiveRecord::Base.connection.tables
Gibt es einen Befehl, der die Spalten in einer bestimmten Tabelle auflistet?
Ich weiß, dass Sie ActiveRecord bitten können, Tabellen in der Konsole aufzulisten, indem Sie:
ActiveRecord::Base.connection.tables
Gibt es einen Befehl, der die Spalten in einer bestimmten Tabelle auflistet?
Dadurch werden die Spaltennamen aus einer Tabelle aufgelistet
Model.column_names
e.g. User.column_names
Model.columns
, um weitere Informationen zu den Spalten einschließlich der Datenbankkonfigurationsdaten zu erhalten.Model.columns
bietet alle Informationen für eine Tabelle über ActiveRecord. Entscheidend für mich war, dass dies der einzige und einfachste Weg war, Vertrauen in meinen Primärschlüssel auf Datenbankebene zu gewinnen.Dadurch werden die Spalten und nicht nur die Spaltennamen abgerufen und ActiveRecord :: Base :: Connection verwendet, sodass keine Modelle erforderlich sind. Praktisch für die schnelle Ausgabe der Struktur einer Datenbank.
Beispielausgabe: http://screencast.com/t/EsNlvJEqM
quelle
primary
Attribut auf diese Weise nicht richtig festgelegt (alle Spalten habenprimary=nil
). Es wird mit derModel.columns
von srt32 vorgeschlagenen Methode korrekt eingestellt.Mit Schienen drei können Sie einfach den Modellnamen eingeben:
In Schienen vier müssen Sie zuerst eine Verbindung herstellen:
quelle
Wenn Sie mit SQL-Befehlen vertraut sind, können Sie den Ordner Ihrer App eingeben und ausführen
rails db
. Dies ist eine Kurzform vonrails dbconsole
. Es wird in die Shell Ihrer Datenbank eingegeben, egal ob es sich um SQLite oder MySQL handelt.Anschließend können Sie die Tabellenspalten mit dem Befehl sql wie folgt abfragen:
quelle
describe your_table;
, nicht perfekt, aber funktioniertSie können
rails dbconsole
in Ihrem Befehlszeilentool ausführen , um die SQLite-Konsole zu öffnen. Geben Sie dann ein, um alle Tabellen.tables
aufzulisten und.fullschema
eine Liste aller Tabellen mit Spaltennamen und -typen zu erhalten.quelle
Um die Spalten in einer Tabelle aufzulisten, gehe ich normalerweise folgendermaßen vor :
Model.column_names.sort
.i.e. Orders.column_names.sort
Durch Sortieren der Spaltennamen können Sie leicht finden, wonach Sie suchen.
Weitere Informationen zu den einzelnen Spalten finden Sie unter :
Model.columns.map{|column| [column.name, column.sql_type]}.to_h
.Dies wird einen schönen Hash liefern. beispielsweise:
quelle
Ergänzen Sie diese nützlichen Informationen, z. B. mithilfe der Rails-Konsole oder der Rails-Datenbankkonsole:
Student ist mein Model mit Rails-Konsole:
Andere Option mit SQLite über Rails:
Zum Schluss noch mehr Informationen.
Hoffe das hilft!
quelle
Für ein kompakteres Format und weniger Eingabe nur:
quelle