Laravel 5

Erreur lors d'une migration

Avatar de Artemis-Lhow
Artemis-Lhow

Bonjour,

Je me tire les cheveux depuis hier soir sur un problème de migration... j'ai créer la migration depuis la console, tout va bien... mais lorsque je veux mettre à jour ma base de données, j'ai une erreur qui revient quoi que je fasse !

Voici ma migration :

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateGrpFormulesTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('grp_formules', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('nom');
            $table->timestamps();
            $table->softDeletes();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('grp_formules', function (Blueprint $table) {
            //
        });
    }
}

Et voici l'erreur que j'ai ...

  Illuminate\Database\QueryException  : SQLSTATE[42S02]: Base table or view not found: 1146 Table 'leogestion.grp_formules' doesn't exist (SQL: alter table `grp_formules` add `id` bigint unsigned not null auto_increment primary key, add `nom` varchar(255) not null, add `created_at` timestamp null, add `updated_at` timestamp null, add `deleted_at` timestamp null)

  at /var/www/Dev/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664
    660|         // If an exception occurs when attempting to run a query, we'll format the error
    661|         // message to include the bindings with SQL, which will make this exception a
    662|         // lot more helpful to the developer instead of just the database's errors.
    663|         catch (Exception $e) {
  > 664|             throw new QueryException(
    665|                 $query, $this->prepareBindings($bindings), $e
    666|             );
    667|         }
    668|

  Exception trace:

  1   PDOException::("SQLSTATE[42S02]: Base table or view not found: 1146 Table 'leogestion.grp_formules' doesn't exist")
      /var/www/Dev/vendor/laravel/framework/src/Illuminate/Database/Connection.php:458

  2   PDOStatement::execute()
      /var/www/Dev/vendor/laravel/framework/src/Illuminate/Database/Connection.php:458

  Please use the argument -v to see more details.

C'est clairement rageant ! C'est la première fois que j'ai ça et j'ai tout essayé, changer le nom de la table, faire un rollback, refaire la migration à neuve... rien à faire !

Help ?

Edit : visiblement, lorsqu'on crée une migration avec la console, il utilise l'argument table au lieu de create dans la fonction up... qu'elle est la diférence et pourquoi fait-il ça ?

Avatar de bestmomo
bestmomo

Salut

L'erreur dit que la table grp_formules n'existe pas, et donc qu'on peut pas créer les colonnes. Ta migration doit-elle créer la table ? Dans ce cas tu dois utiliser la commande create.

Vous ne pouvez pas répondre à ce sujet.