rails g model Rating user_id:integer message:string value:integer
Como posso remover completamente este modelo? obrigado
rails g model Rating user_id:integer message:string value:integer
Como posso remover completamente este modelo? obrigado
Respostas:
bundle exec rake db:rollback
rails destroy model <model_name>
Quando você gera um modelo, ele cria uma migração de banco de dados. Se você executar 'destroy' nesse modelo, ele excluirá o arquivo de migração, mas não a tabela do banco de dados. Então antes de correr
bundle exec rake db:rollback
bundle exec rake db:drop db:create db:migrate
. Será um novo banco de dados vazio.
Para futuros questionadores: Se você não pode eliminar as tabelas do console, tente criar uma migração que elimine as tabelas para você. Você deve criar uma migração e, em seguida, nas tabelas de notas de arquivo que deseja eliminar assim:
class DropTables < ActiveRecord::Migration
def up
drop_table :table_you_dont_want
end
def down
raise ActiveRecord::IrreversibleMigration
end
end
Para remover a migração (se você já migrou a migração)
rake db:migrate:down VERSION="20130417185845" #Your migration version
Para remover o modelo
rails d model name #name => Your model name
rails d model
é o que procuro reverter meu rails g model
.
Aqui está uma implementação diferente da resposta de Jenny Lang que funciona para Rails 5.
Primeiro crie o arquivo de migração:
bundle exec be rails g migration DropEpisodes
Em seguida, preencha o arquivo de migração da seguinte maneira:
class DropEpisodes < ActiveRecord::Migration[5.1]
def change
drop_table :episodes
end
end
Correr rails db:migrate
derrubará a mesa. Se você executar rails db:rollback
, o Rails irá gerar um ActiveRecord::IrreversibleMigration
erro.