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.
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.
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.