Laravel sudah menyediakan fitur database migration Demi memudahkan kita merancang tabel. Demi 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 Demi 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 Demi Membangun file Model sekaligus Membangun migrasinya. Kita Dapat menggunakan perintah berikut:
php artisan make:model NamaModel -m
argumen -m memberitahu laravel Demi membuatkan migrasi Demi model yang dibuat secara Mekanis. Sehingga, perintah tersebut akan menghasilkan dua buah file sekaligus Adalah 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 Engkau 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 Engkau ya
Setelah itu lakukan migrasi dengan perintah berikut:
Berikut ini hasil migrasi Demi 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.