Laravel Schema onDelete set default
<p>I have two tables with a one-to-one relationship, set by a foreign key constraint. I want to set the <code>onDelete</code> rule to 'set default', meaning that when a row on the foreign table is dropped, the reference value reverts to its default value. Here is my code:</p>
<p>Tours Table:</p>
<pre><code>Schema::create('tours', function (Blueprint $table) {
    $table-&gt;increments('id')-&gt;unsigned()-&gt;index();
    $table-&gt;integer('grade')-&gt;unsigned()-&gt;default(1);
    $table-&gt;timestamps();
});
</code></pre>
<p>Grades Table:</p>
<pre><code>Schema::create('grades', function(Blueprint $table){
    $table-&gt;increments('id')-&gt;unsigned()-&gt;index();
    $table-&gt;string('name');
    $table-&gt;timestamps();
});
</code></pre>
<p>Set Foreign Key:</p>
<pre><code>Schema::table('tours', function (Blueprint $table) {
    $table-&gt;foreign('grade')-&gt;references('id')-&gt;on('grades')-&gt;onDelete('set default');
});
</code></pre>
<p>When I run my migrations, it works- no errors. However, looking at the table in HeidiSQL, it hasn't worked properly; the foreign key has been set, but the onDelete property just shows 'NO ACTION'.</p>
<p>Subsequently when I delete a row in the grades table, I get a foreign key constraint error.</p>
<p>What am I doing wrong?</p>