web-dev-qa-db-fra.com

Comment supprimer un modèle en utilisant php artisan?

Existe-t-il une commande permettant de supprimer en toute sécurité un modèle dans Laravel 5? Pour créer un modèle que nous utilisons

php artisan make:model modelname

Et cela créera un modèle sous le dossier app, ainsi qu’une migration dans database/migrations

Mais ce que je ne trouve pas, c'est comment supprimer un modèle ...

31

Supprimer un modèle: supprimez simplement le modèle sous App/ Ou dans un autre dossier.

Suppression d'une migration: si vous l'avez migrée (ce qui signifie que la base de données a subi des modifications), vous avez deux choix:

Le "projet de départ"/la manière la plus moche consiste à migrate:rollback Jusqu'à ce que la migration soit annulée (si c'était la dernière migration que vous avez effectuée, une annulation est suffisante, sinon, vous devrez l'annuler plusieurs fois. ) puis supprimez le fichier de migration (celui qui se trouve dans le dossier database/migrations. Important: la classe de la migration sera toujours l'autoloader par compositeur. Vous devez donc supprimer le chargement de la classe de migration à partir de vendor/composer/autoload_classmap.php. Peut-être que composer dumpautoload Fonctionnera, mais que cela ne fonctionne pas pour moi. Si vous ne pouvez pas effacer de données importantes dans la base de données, supprimez le fichier de migration, composer dumpautoload, Puis exécutez php artisan migrate:refresh. Cela annulera toutes les migrations, puis tout retournera.

La méthode "ceci est en production et j'ai échoué": créez une autre migration où la méthode up supprime la table de la première migration et down la crée (essentiellement la méthode up de la première migration). Laissez les deux fichiers de migration à l'intérieur, ne les supprimez pas.

Si vous ne l'avez pas migré, supprimez simplement le fichier de migration, composer dumpautoload Et si vous avez une erreur class/file not found, Vérifiez si vendor/composer/autoload_classmap.php A la classe du fichier que vous venez de supprimer. et supprimez la ligne là-bas.

39
hfingler