web-dev-qa-db-fra.com

Laravel migration index non défini

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? 

5
Sazrit Mustafa

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

30
Manish

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.

4
Sazrit Mustafa

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.

0
tyoc213

Si vous avez une erreur Undefined index et que votre migration a été effectuée avec l'option --path, ajoutez à votre méthode ModuleServiceProvierboot():

$this->loadMigrationsFrom(base_path('database/migrations/directory-name'));
0
Adam Kozlowski