Eu sei que você pode pedir ao ActiveRecord para listar tabelas no console usando:
ActiveRecord::Base.connection.tables
Existe um comando que lista as colunas em uma determinada tabela?
Eu sei que você pode pedir ao ActiveRecord para listar tabelas no console usando:
ActiveRecord::Base.connection.tables
Existe um comando que lista as colunas em uma determinada tabela?
Isto irá listar os column_names de uma tabela
Model.column_names
e.g. User.column_names
Model.columns
obter mais informações sobre as colunas, incluindo dados de configuração do banco de dados.Model.columns
fornece todas as informações de uma tabela por meio do ActiveRecord. Crucialmente para mim, era a única e mais fácil maneira de ganhar confiança no que realmente era minha chave primária no nível do banco de dados.Isso obtém as colunas, não apenas os nomes das colunas e usa ActiveRecord :: Base :: Connection, portanto, nenhum modelo é necessário. Prático para gerar rapidamente a estrutura de um banco de dados.
Saída de amostra: http://screencast.com/t/EsNlvJEqM
fonte
primary
atributo corretamente (todas as colunas o fizeramprimary=nil
). Ele está configurado corretamente com oModel.columns
método sugerido por srt32.Usando os trilhos três, você pode simplesmente digitar o nome do modelo:
Nos trilhos quatro, você precisa estabelecer uma conexão primeiro:
fonte
Se você estiver familiarizado com os comandos SQL, poderá entrar na pasta do seu aplicativo e executar
rails db
, que é uma forma breve derails dbconsole
. Ele entrará no shell do seu banco de dados, seja ele sqlite ou mysql.Então, você pode consultar as colunas da tabela usando o comando sql como:
fonte
describe your_table;
, não é perfeito, mas funcionaVocê pode executar
rails dbconsole
em sua ferramenta de linha de comando para abrir o console sqlite. Em seguida, digite.tables
para listar todas as tabelas e.fullschema
obter uma lista de todas as tabelas com nomes e tipos de coluna.fonte
Para listar as colunas de uma tabela Eu costumo ir com isso:
Model.column_names.sort
.i.e. Orders.column_names.sort
Classificar os nomes das colunas facilita encontrar o que você está procurando.
Para mais informações sobre cada uma das colunas usar este:
Model.columns.map{|column| [column.name, column.sql_type]}.to_h
.Isso fornecerá um bom hash. por exemplo:
fonte
complementando esta informação útil, por exemplo usando console rails ou dbconsole rails:
Aluno é meu modelo, usando console de trilhos:
Outra opção usando SQLite através de Rails:
Finalmente, para mais informações.
Espero que isto ajude!
fonte
Para um formato mais compacto e menos digitação, basta:
fonte