J'utilise Laravel 5.3.J'ai supprimé un de mes fichiers de migration nommé 'fonctionnalité' et tout ce qui s'y rapporte très attentivement, comme son identifiant dans les autres tables, etc. Puis j'ai supprimé manuellement la table de la base de données.Mais maintenant, alors m en exécutant la commande "php artisan migrate: refresh" .Il affiche une exception d'erreur avec "index indéfini: *** _ create_features_table". Et lorsque j'exécute simplement "php artisan migrate". Apparaître avec succès dans la base de données.Mais lorsque j'exécute migrate: actualiser tout le tableau disparaît. Que dois-je faire pour supprimer complètement le fichier de migration?
Essaye ça.
Tout d'abord, supprimez manuellement le fichier de migration sous app/database/migrations/my_migration_file_name.php
Réinitialiser les fichiers à chargement automatique du compositeur: composer dump-autoload
Modifiez votre base de données: Supprimez la dernière entrée du migrations table
Voici ce que j’ai fait. J’ai effacé toutes les données de la base de données, y compris toutes les tables, puis j’ai lancé 'php artisan migrate' .. c’est ainsi que j’ai réussi à le faire..Mais je cherche une meilleure solution qui ne nécessitera pas de suppression tout de la base de données.
Essayez de vérifier que vous avez d'abord les bonnes migrations
php artisan migrate:status
Ensuite, vous pouvez essayer quelque chose comme
php artisan migrate:refresh --step=1
Et vérifiez à nouveau le statut.
Si vous avez une erreur Undefined index
et que votre migration a été effectuée avec l'option --path, ajoutez à votre méthode ModuleServiceProvier
boot()
:
$this->loadMigrationsFrom(base_path('database/migrations/directory-name'));