diff --git a/migrations/2018_09_15_041340_add_users_indicies.php b/migrations/2018_09_15_041340_add_users_indicies.php new file mode 100644 index 000000000..30aebd912 --- /dev/null +++ b/migrations/2018_09_15_041340_add_users_indicies.php @@ -0,0 +1,33 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Database\Schema\Builder; + +return [ + 'up' => function (Builder $schema) { + $schema->table('users', function (Blueprint $table) { + $table->index('joined_at'); + $table->index('last_seen_at'); + $table->index('discussion_count'); + $table->index('comment_count'); + }); + }, + + 'down' => function (Builder $schema) { + $schema->table('users', function (Blueprint $table) { + $table->dropIndex(['joined_at']); + $table->dropIndex(['last_seen_at']); + $table->dropIndex(['discussion_count']); + $table->dropIndex(['comment_count']); + }); + } +]; diff --git a/migrations/2018_09_15_041828_add_discussions_indicies.php b/migrations/2018_09_15_041828_add_discussions_indicies.php new file mode 100644 index 000000000..15433f0fb --- /dev/null +++ b/migrations/2018_09_15_041828_add_discussions_indicies.php @@ -0,0 +1,39 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Database\Schema\Builder; + +return [ + 'up' => function (Builder $schema) { + $schema->table('discussions', function (Blueprint $table) { + $table->index('last_posted_at'); + $table->index('last_posted_user_id'); + $table->index('created_at'); + $table->index('user_id'); + $table->index('comment_count'); + $table->index('participant_count'); + $table->index('hidden_at'); + }); + }, + + 'down' => function (Builder $schema) { + $schema->table('discussions', function (Blueprint $table) { + $table->dropIndex(['last_posted_at']); + $table->dropIndex(['last_posted_user_id']); + $table->dropIndex(['created_at']); + $table->dropIndex(['user_id']); + $table->dropIndex(['comment_count']); + $table->dropIndex(['participant_count']); + $table->dropIndex(['hidden_at']); + }); + } +]; diff --git a/migrations/2018_09_15_043337_add_notifications_indices.php b/migrations/2018_09_15_043337_add_notifications_indices.php new file mode 100644 index 000000000..724c79eb6 --- /dev/null +++ b/migrations/2018_09_15_043337_add_notifications_indices.php @@ -0,0 +1,27 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Database\Schema\Builder; + +return [ + 'up' => function (Builder $schema) { + $schema->table('notifications', function (Blueprint $table) { + $table->index('user_id'); + }); + }, + + 'down' => function (Builder $schema) { + $schema->table('notifications', function (Blueprint $table) { + $table->dropIndex(['user_id']); + }); + } +]; diff --git a/migrations/2018_09_15_043621_add_posts_indices.php b/migrations/2018_09_15_043621_add_posts_indices.php new file mode 100644 index 000000000..484a3b842 --- /dev/null +++ b/migrations/2018_09_15_043621_add_posts_indices.php @@ -0,0 +1,31 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Database\Schema\Builder; + +return [ + 'up' => function (Builder $schema) { + $schema->table('posts', function (Blueprint $table) { + $table->index(['discussion_id', 'number']); + $table->index(['discussion_id', 'created_at']); + $table->index(['user_id', 'created_at']); + }); + }, + + 'down' => function (Builder $schema) { + $schema->table('posts', function (Blueprint $table) { + $table->dropIndex(['discussion_id', 'number']); + $table->dropIndex(['discussion_id', 'created_at']); + $table->dropIndex(['user_id', 'created_at']); + }); + } +];