Cara Migrate Database Laravel

Cara Migrate Database Laravel

Mari membahas proses pembuatan migrasi di Laravel dan melihat beberapa metode dan teknik yang tidak biasa yang dapat Anda manfaatkan dalam aplikasi Anda sendiri. Beberapa dari pintasan ini secara dramatis mempercepat waktu yang anda perlukan untuk menyiapkan struktur database dan siap digunakan.

Migrasi Laravel seperti alat manajemen versi database.

cara membuat migrasi dan memahami strukturnya

Untuk menghasilkan migrasi, Anda perlu menjalankan perintah

 php artisan make:migration create_posts_table

ini akan menghasilkan file di folder database\migrasi.

File tersebut terdiri dari kelas baru yang extend class migrasi laravel.

Kelas baru terdiri dari 2 fungsi utama up() & down(). Fungsi up() menampung semua informasi tentang migrasi file.

  public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->id();
            $table->string('title');
            $table->text('body');
            $table->integer('order')->nullable();
            $table->boolean('is_published')->default(true);
            $table->timestamps();
        });
    }

sedangkan fungsi down() menyimpan informasi tentang membalikkan tindakan migrasi.

  public function down()
  {
      Schema::dropIfExists('posts');
  }

Jalankan & Kembalikan Migrasi Untuk menjalankan migrasi kita perlu menggunakan perintah

 php artisan migrate

Untuk mengembalikan migrasi terbaru, kami memiliki perintah

 php artisan migrate:rollback

ketika kita harus melakukan rollback hingga beberapa langkah tertentu kita dapat melewati langkah-langkah dalam perintah rollback seperti

 php artisan migrasi: kembalikan --step=3

ini akan mengembalikan migrasi hingga 3 langkah mulai dari yang terbaru.

cara migrate database laravel dengan cara lain dengan cara membuat model sekaligus migrasi dalam satu perintah

php artisan make:model Post --migration

maka dalam hal ini akan tergenerate 2 file yaitu model Post dan file migrasi untuk post

Menambah/Memperbarui Kolom pada Tabel

Untuk melakukan ubahan pada kolom perlu membuat file migrasi yang sama dengan yang telah kita buat saat membuat migrasi.

satu-satunya perubahan akan ada di nama migrasi, selalu coba tulis jelas deskriptif nama migrasi yang membantu laravel untuk memahami nama tabel dalam migrasi. Misalnya Memperbarui nama kolom kita harus menjalankan perintah seperti

  php artisan make:migration update_name_column_in_contacts_table

Pengubahan Kolom

Pengubah Kolom tidak lain adalah fungsi yang telah ditentukan sebelumnya yang tersedia di laravel Migration dengan menggunakan bahwa Anda dapat membuat kolom apa pun dapat dibatalkan.

Tambah/Ganti Nama/Hapus Indeks Basis Data Migrasi Laravel mendukung beberapa jenis INDEX untuk misal

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

  Schema::table('users', function (Blueprint $table) {
      $table->index('email');
  });

Untuk mengganti nama indeks, Anda dapat menggunakan renameIndex() untuk misal

$table->renameIndex('email', 'mobile_no');

Untuk menjatuhkan indeks, Anda dapat menggunakan dropIndex() untuk misal

$table->dropIndex('email');

Kendala foreign key Laravel juga menyediakan dukungan untuk membuat batasan foreign key, yang digunakan untuk memaksa integritas referensial di tingkat basis data

$table->foreignId('user_id')
      ->constrained('users')
      ->cascadeOnUpdate()
      ->cascadeOnDelete();

atau ada kemungkinan mengalami Error

okochunk
okochunk Author of Affiliates, a template available for WordPress, HTML, Ghost and Jekyll.
comments powered by Disqus