Hello team j'espère que vous allez bien.

Je souhaites faire la migration des données dans une base de donnée créée vide sur un serveur depuis le projet laravel que j'ai pull depuis le repos github mais au niveau de cette je recontre l'erreur.

Normalement en faisant un php artisan migrate vu que la base de donnée est dejà créée au niveau du serveur les données de migration tels que les tables et leur differents schema devrait être chargé dans la base de donnée

Ce que j'obtiens

 SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation "school_information" does not exist
LINE 1: select * from "school_information" limit 1
                      ^ (SQL: select * from "school_information" limit 1)

Au cas où quelqu'un aurait une idée ce serait vraiment genial

Merci beaucoup !

1 réponse


mrseck
Auteur
Réponse acceptée

Salut !

Merci pour ta reponse mais tous les points que tu as soulignés étaient déjà verifié.
Le souci résidait au niveau du fichier app/Providers/AppServiceProvider.php dans lequel se trouvait la fonction

public function boot()
    {
        \View::share('school', SchoolInformation::firstOrFail());
    }

qui signifie normalement que lors du demarrage du server avec php artisan serve, Il récupère le premier enregistrement de la table de base de données qui est school_information et le rend disponible sous la clé 'school'.
Ce qui causait naturellement l'erreur vu que la table n'avait même pas encore été migrée.

Solution

J'ai donc commenté cette ligne

public function boot()
    {
       // \View::share('school', SchoolInformation::firstOrFail());
    }

Executer la migration tout s'est bien déroulé

Merci

Salut !

L'erreur SQLSTATE[42P01]: Undefined table indique que la table school_information n'existe pas dans la base de données cible.

Causes possibles:

La base de données n'a pas été créée correctement.
La table school_information n'a pas été migrée vers la nouvelle base de données.
Il y a une erreur dans le nom de la table dans le code de migration.
Solutions possibles:

  1. Vérifier la création de la base de données:

Assurez-vous que la base de données cible a été créée et que vous disposez des droits d'accès nécessaires pour la modifier.

  1. Vérifier les migrations:

Exécutez la commande php artisan migrate:list pour afficher la liste des migrations appliquées à la base de données. Assurez-vous que la migration qui crée la table school_information est présente dans la liste.

  1. Vérifier le nom de la table:

Comparez le nom de la table dans le code de migration avec le nom de la table dans la base de données. Assurez-vous qu'ils correspondent exactement.

  1. Exécuter la migration:

Si la table n'existe toujours pas, essayez d'exécuter la migration manuellement en utilisant la commande php artisan migrate --table=school_information.

  1. Vérifier les dépendances:

Si la table school_information dépend d'autres tables, assurez-vous que ces tables ont également été migrées.

Conseils:

Assurez-vous d'utiliser la version correcte de Laravel et de MySQL.
Vérifiez les journaux d'erreurs pour plus d'informations sur la cause du problème.
Si vous rencontrez toujours des difficultés, n'hésitez pas à demander de l'aide sur la communauté Laravel.
Ressources utiles:

Documentation Laravel sur les migrations: https://laravel.com/docs/8.x/migrations
Forum Laravel: https://laravel.io/