0
votes

migrate generates the exception after pivot migration of Laravel 5.3.

schema1 : software_houses
schema2 : skill_domains

I generated the command make:migration:pivot skill_domains software_houses

and the migration is created by the name of skill_domain_software_house

but when I execute php artisan migrate

following error occurs :

 [Symfony\Component\Debug\Exception\FatalThrowableError]      
 Class 'CreateSkillDomainSoftwareHousePivotTable' not found 

See this Image

SKILL Domain

<?php

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

class CreateSkillDomainsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {

        Schema::create('skill_domains', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name')->unique();
            $table->timestamps();
        });


    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('skill_domains');
    }
}

Software House

<?php

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

class CreateSoftwareHousesTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('software_houses', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name',100)->unique();
            $table->string('desc',500);
            $table->string('url',100);
            $table->string('rating')->default('3');
            $table->string('logo')->nullable();
            $table->string('city')->nullable();

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('software_houses');
    }
}

Pivot table created after running the make:migration::pivot command

<?php

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

class CreateSkill_domainSoftware_housePivotTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('skill_domain_software_house', function (Blueprint $table) {
            $table->integer('skill_domain_id')->unsigned()->index();
            $table->foreign('skill_domain_id')->references('id')->on('skill_domains')->onDelete('cascade');
            $table->integer('software_house_id')->unsigned()->index();
            $table->foreign('software_house_id')->references('id')->on('software_houses')->onDelete('cascade');
            $table->primary(['skill_domain_id', 'software_house_id']);
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('skill_domain_software_house');
    }
}
1
What is your skill_domain_software_house migration class name?AddWeb Solution Pvt Ltd
SkillDomain_SoftwareHousewantedwahab
does it matter to create the model before migrating ?wantedwahab

1 Answers

0
votes

Try with below class name line: class SkillDomainsSoftwareHouses extends Migration

Make sure the file name should be match with class name Documentation.

UPDATE
I think you should try this:

first remove above software_houses,skill_domains from migrations folder also remove from migrations table in your database then follow below steps :

1) php artisan make:migration skilldomain
2) php artisan make:migration softwarehouses
3) php artisan make:migration:pivot skilldomains softwarehouses
4) php artisan migrate