Rails g model Rating user_id:integer message:string value:integer
Comment puis-je supprimer complètement ce modèle? Merci
bundle exec rake db:rollback
Rails destroy model <model_name>
Lorsque vous générez un modèle, il crée une migration de base de données. Si vous exécutez 'destroy' sur ce modèle, le fichier de migration sera supprimé, mais pas la table de base de données. Donc avant de courir
bundle exec rake db:rollback
Essaye ça
Rails destroy model Rating
Il va supprimer le modèle, la migration, les tests et les fixtures
Pour les futurs questionneurs: Si vous ne pouvez pas supprimer les tables de la console, essayez de créer une migration qui supprime les tables pour vous. Vous devez créer une migration puis, dans le fichier, les tables que vous voulez supprimer comme ceci:
class DropTables < ActiveRecord::Migration
def up
drop_table :table_you_dont_want
end
def down
raise ActiveRecord::IrreversibleMigration
end
end
Pour supprimer la migration (si vous avez déjà migré la migration)
rake db:migrate:down VERSION="20130417185845" #Your migration version
Pour supprimer le modèle
Rails d model name #name => Your model name
Voici une implémentation différente de la réponse de Jenny Lang qui fonctionne pour Rails 5.
Commencez par créer le fichier de migration:
bundle exec be Rails g migration DropEpisodes
Puis remplissez le fichier de migration comme suit:
class DropEpisodes < ActiveRecord::Migration[5.1]
def change
drop_table :episodes
end
end
Fonctionnement Rails db:migrate
va laisser tomber la table. Si vous exécutez Rails db:rollback
, Rails lancera un ActiveRecord::IrreversibleMigration
Erreur.