andriajah Tue Feb 2023 2 years ago

Bagaimana Cara Menambahkan Index di Migration Laravel?

Di sini, saya akan menunjukkan kepada Anda bagaimana cara menambahkan indeks mysql di migrasi laravel. saya ingin berbagi dengan Anda migrasi laravel menambahkan indeks pada kolom. Anda akan belajar migrasi laravel menambahkan indeks unik. mari kita bahas tentang migrasi laravel buat index. Anda akan melakukan hal-hal berikut untuk migrasi laravel membuat indeks unik.

 

Saya akan memberikan contoh yang sangat sederhana tentang cara membuat tabel dengan kolom indeks menggunakan migrasi laravel. Anda dapat dengan mudah menggunakan contoh ini dengan versi laravel 6, laravel 7, laravel 8 dan laravel 9.

 

dalam contoh ini, kita akan membuat tabel item dan menambahkan indeks untuk kolom judul dan create_at. Anda juga dapat menambahkan indeks unik menggunakan migrasi laravel. saya akan menunjukkan kepada Anda kedua contoh satu per satu.

 

Contoh 1: Index Sederhana

<?php
  
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
  
class CreateItemsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('items', function (Blueprint $table) {
            $table->id();
            $table->string('title');
            $table->text('body');
            $table->timestamps();
  
            $table->index(['title', 'created_at']);
        });
    }
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('items');
    }
}

 

Contoh 2: Unique

<?php
  
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
  
class CreateItems2Table extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('items2', function (Blueprint $table) {
            $table->id();
            $table->string('title');
            $table->text('body');
            $table->timestamps();
  
            $table->unique(['title']);
        });
    }
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('items2');
    }
}

 

indexing laravel laravel migration laravel