Wiem, że możesz poprosić ActiveRecord o wyświetlenie tabel w konsoli za pomocą:
ActiveRecord::Base.connection.tables
Czy istnieje polecenie, które wyświetli listę kolumn w podanej tabeli?
Wiem, że możesz poprosić ActiveRecord o wyświetlenie tabel w konsoli za pomocą:
ActiveRecord::Base.connection.tables
Czy istnieje polecenie, które wyświetli listę kolumn w podanej tabeli?
Spowoduje to wyświetlenie nazw_kolumn z tabeli
Model.column_names
e.g. User.column_names
Model.columns
uzyskać więcej informacji o kolumnach, w tym dane konfiguracyjne bazy danych.Model.columns
zapewnia wszystkie informacje dotyczące tabeli za pośrednictwem ActiveRecord. Co najważniejsze, był to dla mnie jedyny i najłatwiejszy sposób na uzyskanie pewności co do tego, jaki naprawdę był mój klucz główny na poziomie bazy danych.Pobiera kolumny, a nie tylko nazwy kolumn, i używa ActiveRecord :: Base :: Connection, więc żadne modele nie są potrzebne. Przydatny do szybkiego wyprowadzania struktury bazy danych.
Przykładowe dane wyjściowe: http://screencast.com/t/EsNlvJEqM
źródło
primary
poprawnie atrybutu (wszystkie kolumny mająprimary=nil
). Jest ustawiony poprawnieModel.columns
metodą sugerowaną przez srt32.Używając szyn numer 3, możesz po prostu wpisać nazwę modelu:
Na szynach czwartych musisz najpierw nawiązać połączenie:
źródło
Jeśli dobrze znasz polecenia SQL, możesz wejść do folderu aplikacji i uruchomić
rails db
, co jest krótką formąrails dbconsole
. Wejdzie do powłoki Twojej bazy danych, niezależnie od tego, czy jest to sqlite, czy mysql.Następnie możesz zapytać kolumny tabeli za pomocą polecenia sql, takiego jak:
źródło
describe your_table;
, nie jest idealny, ale działaMożesz uruchomić
rails dbconsole
w sobie narzędzie wiersza poleceń, aby otworzyć konsolę sqlite. Następnie wpisz,.tables
aby wyświetlić wszystkie tabele i.fullschema
otrzymać listę wszystkich tabel z nazwami i typami kolumn.źródło
Do listy kolumn w tabeli I zwykle z tym:
Model.column_names.sort
.i.e. Orders.column_names.sort
Posortowanie nazw kolumn ułatwia znalezienie tego, czego szukasz.
Aby uzyskać więcej informacji na temat każdej z kolumn użyj tego:
Model.columns.map{|column| [column.name, column.sql_type]}.to_h
.To zapewni niezły haszysz. na przykład:
źródło
uzupełnienie tych przydatnych informacji, na przykład za pomocą konsoli rails lub dbconsole rails:
Student jest moim modelem, używając konsoli railsów:
Inna opcja używania SQLite przez Railsy:
Wreszcie po więcej informacji.
Mam nadzieję że to pomoże!
źródło
Aby uzyskać bardziej kompaktowy format i mniej pisania, wystarczy:
źródło