> For the complete documentation index, see [llms.txt](https://zakimaliki.gitbook.io/laravel/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://zakimaliki.gitbook.io/laravel/membuat-migrasi-sedehana-dengan-laravel.md).

# Membuat migrasi sedehana dengan laravel

Untuk membuat migrasi sederhana dengan tabel `products` yang memiliki kolom `id` (integer), `name` (string), `price` (integer), dan `stock` (integer), ikuti langkah-langkah berikut:

**Langkah 1: Membuat Migrasi Baru**

Buka terminal dan masuk ke direktori proyek Laravel Anda. Kemudian, jalankan perintah Artisan untuk membuat migrasi baru:

```
php artisan make:migration create_products_table
```

Perintah ini akan membuat file migrasi baru di direktori `database/migrations`.

**Langkah 2: Edit File Migrasi**

Buka file migrasi yang baru saja Anda buat. Nama file migrasi akan terlihat seperti `timestamp_create_products_table.php` di direktori `database/migrations`. Buka file ini dan ubah metode `up()` untuk mencocokkan dengan kebutuhan tabel Anda:

```
<?php

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

class CreateProductsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('products', function (Blueprint $table) {
            $table->id(); // Kolom id dengan tipe data integer dan otomatis bertambah
            $table->string('name'); // Kolom name dengan tipe data string
            $table->integer('price'); // Kolom price dengan tipe data integer
            $table->integer('stock'); // Kolom stock dengan tipe data integer
            $table->timestamps(); // Kolom created_at dan updated_at untuk menyimpan waktu pembuatan dan pembaruan record
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('products');
    }
}

```

Dalam migrasi ini, `id()` digunakan untuk membuat kolom `id` yang bertipe data integer dan otomatis bertambah (primary key). Selanjutnya, terdapat kolom `name` dengan tipe data string, kolom `price` dengan tipe data integer, dan kolom `stock` dengan tipe data integer.

**Langkah 3: Jalankan Migrasi**

Setelah Anda mengedit file migrasi, jalankan perintah Artisan untuk menjalankan migrasi dan membuat tabel di database:

```
php artisan migrate
```

Perintah ini akan membuat tabel `products` di database Anda sesuai dengan definisi migrasi yang telah Anda buat.

Di bab berikutnya  akan belajar cara mengkases database lewat model sederhana.
