Skip to content

Commit

Permalink
Merge pull request #52 from dweissengruber/mysql_performance_improvem…
Browse files Browse the repository at this point in the history
…ents

DB-Schema: Add Foreign Keys for faster queries
  • Loading branch information
OwenMelbz authored Mar 22, 2021
2 parents f41c8c2 + df85954 commit b7a688f
Showing 1 changed file with 104 additions and 0 deletions.
104 changes: 104 additions & 0 deletions database/migrations/2021_03_04_095453_add_foreign_keys.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
<?php

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

class AddForeignKeys extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('open_graph_scans', function (Blueprint $table) {
$table->bigInteger('website_id')->unsigned()->index()->change();
$table->foreign('website_id')->references('id')->on('websites')->onDelete('cascade');
});

Schema::table('robot_scans', function (Blueprint $table) {
$table->bigInteger('website_id')->unsigned()->index()->change();
$table->foreign('website_id')->references('id')->on('websites')->onDelete('cascade');
});

Schema::table('dns_scans', function (Blueprint $table) {
$table->bigInteger('website_id')->unsigned()->index()->change();
$table->foreign('website_id')->references('id')->on('websites')->onDelete('cascade');
});

Schema::table('visual_diffs', function (Blueprint $table) {
$table->bigInteger('website_id')->unsigned()->index()->change();
$table->foreign('website_id')->references('id')->on('websites')->onDelete('cascade');
});

Schema::table('cron_pings', function (Blueprint $table) {
$table->bigInteger('website_id')->unsigned()->index()->change();
$table->foreign('website_id')->references('id')->on('websites')->onDelete('cascade');
});

Schema::table('uptime_scans', function (Blueprint $table) {
$table->bigInteger('website_id')->unsigned()->index()->change();
$table->foreign('website_id')->references('id')->on('websites')->onDelete('cascade');
});

Schema::table('certificate_scans', function (Blueprint $table) {
$table->bigInteger('website_id')->unsigned()->index()->change();
$table->foreign('website_id')->references('id')->on('websites')->onDelete('cascade');
});

Schema::table('crawled_pages', function (Blueprint $table) {
$table->bigInteger('website_id')->unsigned()->index()->change();
$table->foreign('website_id')->references('id')->on('websites')->onDelete('cascade');
});
}

/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('open_graph_scans', function (Blueprint $table) {
$table->integer('website_id')->change();
$table->dropForeign('website_id');
});

Schema::table('robot_scans', function (Blueprint $table) {
$table->integer('website_id')->change();
$table->dropForeign('website_id');
});

Schema::table('dns_scans', function (Blueprint $table) {
$table->integer('website_id')->change();
$table->dropForeign('website_id');
});

Schema::table('visual_diffs', function (Blueprint $table) {
$table->integer('website_id')->change();
$table->dropForeign('website_id');
});

Schema::table('cron_pings', function (Blueprint $table) {
$table->integer('website_id')->change();
$table->dropForeign('website_id');
});

Schema::table('uptime_scans', function (Blueprint $table) {
$table->integer('website_id')->change();
$table->dropForeign('website_id');
});

Schema::table('certificate_scans', function (Blueprint $table) {
$table->integer('website_id')->change();
$table->dropForeign('website_id');
});

Schema::table('crawled_pages', function (Blueprint $table) {
$table->integer('website_id')->change();
$table->dropForeign('website_id');
});
}
}

0 comments on commit b7a688f

Please sign in to comment.