Akademi Manajemen Informatika

Laravel sudah menyediakan fitur database migration Buat memudahkan kita merancang tabel. Buat Membangun tabel menggunakan migration, kita menuliskan kode yang memberitahu laravel field apa saja yang Terdapat di dalam tabel yang Ingin kita buat, termasuk menentukan Rekanan, primary key, default value, dan lain-lain.

Membangun File Migrasi Dan Model

Kita Dapat Membangun file migrasi dengan Sokongan artisan command Punya laravel. Caranya, kita tinggal menjalankan perintah php artisan make:migration nama_migrasi. Dengan perintah tersebut, laravel akan secara Mekanis membuatkan kita file migrasi yang disimpan dalam folder database/migrations.
Sedangkan Buat Membangun model kita Dapat menggunakan perintah php artisan make:model NamaModel. Sehingga file model akan disimpan dalam folder app/Models.

Tetapi, Terdapat Langkah yang lebih Segera Buat Membangun file Model sekaligus Membangun migrasinya. Kita Dapat menggunakan perintah berikut:

php artisan make:model NamaModel -m

argumen -m memberitahu laravel Buat membuatkan migrasi Buat model yang dibuat secara Mekanis. Sehingga, perintah tersebut akan menghasilkan dua buah file sekaligus Yakni file model dan migrasi database.

READ  Teladan Surat Korespondensi Bisnis, Jenis, dan Formatnya

Sip, langsung saja kita akan Membangun tabel bernama urls sekaligus Membangun modelnya dengan perintah berikut ini:

php artisan make:model Url -m

Migrasi

Sesuaikan method up pada file migrasi yang sudah dibuat menjadi seperti berikut:

public function up()
{
    Schema::create('urls', function (Blueprint $table) {
        $table->id();
        $table->string('alias')->unique();
        $table->text('url');
        $table->timestamps();
    });
}
  • Field alias akan berisi Secara acak string yang nantinya menjadi short url
  • Field url akan berisi url original yang diperpendek

Model

Sesuaikan model yang baru saja dibuat menjadi seperi berikut:

php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Url extends Model
{
    use HasFactory;

    protected $fillable = [
        'alias',
        'url'
    ];
}

Atribut $fillable diperlukan agar kita Dapat melakukan mass assignment pada field yang Terdapat dalam array.

READ  Definisi, 7 Fitur, dan Contohnya

Proses Migrasi

Setelah Membangun model dan file migrasi, saatnya kita melakukan migrasi. Pastikan mysql server Anda sudah running ya.
Sebelumnya kita edit terlebih dahulu konfigurasi database pada file .env menjadi seperti berikut:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_url_shorterner
DB_USERNAME=root
DB_PASSWORD=root

Sesuaikan nama database dan password dengan Punya Anda ya

Setelah itu lakukan migrasi dengan perintah berikut:

Berikut ini hasil migrasi Buat tabel urls

mysql> desc laravel_url_shorterner.urls;
+------------+---------------------+------+-----+---------+----------------+
| Field      | Type                | Null | Key | Default | Extra          |
+------------+---------------------+------+-----+---------+----------------+
| id         | bigint(20) unsigned | NO   | PRI | NULL    | auto_increment |
| alias      | varchar(255)        | NO   | UNI | NULL    |                |
| url        | text                | NO   |     | NULL    |                |
| created_at | timestamp           | YES  |     | NULL    |                |
| updated_at | timestamp           | YES  |     | NULL    |                |
+------------+---------------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)

Sip sekarang kita sudah punya tabelnya.

READ  Definisi, Kelebihan, dan Langkah Menggunakannya