mercredi 5 février 2020

Getting foreign key constraint error 1215 while building from laravel migrations

Getting this error 1215. Though the type and key name is exactly correct. I am linking the column having data-type = varchar though it is very rare to use varchar column as foreign key. But I need to add this only. Given below are two tables getting created and their schema is shown.

This is the parent table.

   public function up()
    {
        Schema::create('resources', function (Blueprint $table) {
            $table->increments('id');
            $table->string('type');
            $table->timestamps();
            $table->softDeletes();
        });
    }

This is the child table.

public function up()
    {
        Schema::create('active_subscriptions', function (Blueprint $table) {
            $table->increments('id');
            $table->unsignedInteger('resource_id');
            $table->string('resource_type');
            $table->dateTime('start_date');
            $table->dateTime('end_date');
            $table->decimal('net_price');
            $table->foreign('resource_type')->references('type')->on('resources');
            $table->timestamps();
            $table->softDeletes();
        });
    }

This is the error which I am getting here.

1215 Cannot add foreign key constraint (SQL: alter table `active_subscriptions` add constraint `active_subscriptions_resource_type_foreign` foreign key (`resource_type`) references `resources` (`type`))


via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire