Cara Membuat Database di Laravel 8

Pada tutorial ini kita akan membahas Cara Membuat Database di Laravel 8, untuk database sendiri kita dapat memakai database apapun, namun kita disini menggunakan SQL bawaan apache xampp, sebuah database kita perlukan dalam proses pembuatan aplikasi sebagai tempat menyimpan data – data bisa dibilang sebagai pangkalan data atau basis data.

Sebelum mengikuti tutorial ini di pastikan anda telah mengikuti tutorial sebelumnya di website ini :

  1. Install Laravel versi 8 di Windows 10

Untuk memahami tutorial ini silahkan untuk mengikuti dan membaca dari awal sampai akhir, oke langsung saja, kita belajar Cara Membuat Database di Laravel 8, saya membahas nya lebih dalam di tutorial ini, dari mulai konfigurasi database, cara membuat migration, factory, dan seeder.

Laravel menyediakan fitur yang memudahkan kita dalam melakukan konfigurasi yaitu Environmental Configuration. jadi setelah melakukan install laravel terdapat 1 file .env di luar folder, dan kita bisa melakukan konfigurasi database di file tersebut agar project aplikasi kita terhubung ke database.

Berikut cara konfigurasi database di file .env, buka file .env seperti ini :

secara default konfig database laravel menggunakan koneksi MySQL, text yang di block di atas merupakan text yang akan kita edit, kita hanya perlu mengganti
DB_DATABASE ini adalah nama database kita, DB_USERNAME untuk username database mysql nya, dan DB_PASSWORD untuk password mysql nya.
ini contoh yang sudah saya buat :

lalu kita buat nama database di phpmyadmin sesuai nama database di konfigurasi env sebelumnya, buka http://localhost/phpmyadmin di browser kita, pastikan xampp nya sudah aktif apache dan mysql, setelah itu pilih New dan isi nama database lalu tekan tombol Create seperti ini :

untuk konfigurasi database cukup sampai tahap di atas, selanjutnya kita akan membuat tabel – tabel yang di perlukan untuk database nya tanpa perlu membuat tabel secara manual di phpmyadmin, di laravel sendiri untuk penangan database sudah menyediakan fitur dengan nama Migration, Factory dan Seeder yang terletak pada folder database di laravel seperti ini :

Fitur Migration ini untuk kita membuat tabel melalui codingan kita dan sebagai version control untuk setiap perubahan dari tabel tabel yang dibuat.
Fitur Factory untuk mendefinisikan isi data dummy dari tabel yang sudah dibuat.
Fitur Seeder untuk melakukan eksekusi generate data dummy sesuai isi file Factory.

Secara default laravel sudah membuatkan migration untuk beberapa tabel, satu file factory untuk pengisian data dummy tabel User, dan satu file Seeder untuk generate data dummy tabel User.

Agar lebih memahami nya, kita bisa coba jalankan migration nya dengan perintah ini di terminal, perintah ini artinya menjalankan method up di smua file migration:

seperti ini proses nya :

setelah itu kita cek di phpmyadmin untuk memastikan tabel tabel tersebut berhasil dibuat di database sebagai berikut :

bagaimana tabel tabel tadi dibuat ?, kita bisa cek codingan nya di folder migrations lalu coba buka file di bawah ini untuk melihat filed field apa saja yang dibuat :

kita bisa lihat di method up, itu merupakan schema untuk tabel users dengan struktur tabel atau field field yang ada di tabel users, untuk penamaan type-type datanya kita bisa lihat dokumentasi penulisan di https://laravel.com/docs/8.x/migrations#creating-columns

lalu bagaimana kalo kita ingin membuat tabel baru ?, cara nya cukup simple kita hanya perlu jalankan perintah ini di terminal untuk membuat migration tabel baru:

php artisan make:migration create_post_table --create=table

seperti ini proses nya :

lalu kita lihat di folder migrations untuk memastikan file tabel baru terbuat dengan nama create_post_table.php :

kita edit terlebih dulu file create_post_tabel.php yang telah dibuat, coba buka file nya dan lakukan perubahan seperti ini, schema table rename sesuai nama tabel yang akan dibuat yaitu tabel post :

lalu kita jalan kan perintah di bawah untuk menghapus dulu semua tabel yang telah di generate sebelumnya di phpmyadmin, perintah ini sama dengan menjalankan method down di semua file migration :

php artisan migrate:rollback

berikut proses rollback :

maka semua tabel di phpmyadmin akan terhapus kecuali tabel migration karna itu sebagai version control yang mencatat perubahan tabel :

setelah itu kita generate kembali tabel dengan jalan kan perintah seperti sebelumnya di terminal yaitu php artisan migrate dan seperti ini proses dan hasilnya di phpmyadmin :

sampai tahap di atas, kita baru membuat tabel nya saja.

Bagaimana cara membuat data dummy di laravel ? pada contoh kali ini kita akan coba isikan data dummy untuk salah satu tabel yaitu tabel users, karena secara default laravel sendiri sudah memberikan contoh pengisian nya untuk tabel users, cara nya coba buka dulu file UserFactory.php di folder database/factories seperti ini :

di method definition kita bisa lihat value untuk filed-filed yang akan di inputkan data dummy nya, untuk pengisian value data dummy bisa cek referensi nya di https://github.com/fzaninotto/Faker , sebelum kita melakukan generate data dummy pastikan sudah ada file Model nya, karna secara default Model untuk tabel users di laravel sudah dibuat, kita bisa cek file model User.php di folder app/models sebagai berikut :

setelah di pastikan file model nya tersedia, sekarang buka file DatabaseSeeder.php di folder database/seeders dan lakukan open comment lalu buat seperti di bawah ini :

konsep nya file DatabaseSeeder.php menjalankan pengisian data untuk tabel tertentu dengan memanggil salah satu model yang telah dibuat, contoh diatas di method run itu diperuntukan untuk tabel users, karna isi dari model User adalah tabel users, dan angka 5 yaitu jumlah data dummy yang akan di generate.
setelah kita paham konsep di atas, kita coba generate data dummy nya dengan perintah ini di terminal :

php artisan db:seed --class=DatabaseSeeder

perintah di atas itu untuk jalankan seeder dengan class yang bernama DatabaseSeeder dalam artian menjalankan file DatabaseSeeder.php tadi, begini proses dan hasil nya :

data dummy berhasil di generate oleh laravel.

agar lebih paham lagi kita ulangi proses sekali lagi, dengan membuat Model , factory, dan Seeder untuk tabel post yang sudah dibuat sebelumnya, yang nantinya kita buatkan data dummy juga.

Cara Pertama kita dapat membuat nya satu persatu seperti dibawah ini

kita dapat membuat model nya dulu dengan perintah ini di terminal :

php artisan make:model Post

lalu buat factory dengan perintah ini di terminal :

php artisan make:factory PostFactory --model=Post

lalu buat seeder dengan perintah ini di terminal :

php artisan make:seeder PostSeeder

cara kedua kita dapat mempersingkat waktu pembuatan dengan membuat model sekaligus dengan factory nya yaitu dengan menjalankan perintah ini di terminal :

php artisan make:model Post -m -f

untuk hasil nya dari cara-cara di atas adalah sebagai berikut :

sekarang kita lakukan perubahan pada isi file model Post.php, file factory Postfactory.php dan file seeder PostSeeder.php seperti di bawah ini :

isi file app/Models/Post.php :

<?php

namespace App\Models;

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

class Post extends Model
{
    use HasFactory;

    protected $table = 'post';
    protected $guarded = ['id'];
}

isi file database/factories/Postfactory.php :

<?php

namespace Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;

class PostFactory extends Factory
{
    /**
     * Define the model's default state.
     *
     * @return array
     */
    public function definition()
    {
        return [
            'title' => $this->faker->sentence($nbWords = 6, $variableNbWords = true),
            'desc' => $this->faker->text($maxNbChars = 200),
        ];
    }
}

isi file database/seeders/PostSeeder.php :

<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;

class PostSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        \App\Models\Post::factory(5)->create();
    }
}

setalah tahap di atas, kita generate data dummy nya dengan perintah ini di terminal :

php artisan db:seed --class=PostSeeder

perintah di atas itu untuk jalankan seeder dengan class yang bernama PostSeeder dalam artian menjalankan file database/seeders/PostSeeder.php begini proses dan hasil nya :

data dummy berhasil di generate oleh seeder laravel.

Selesai, selamat mencoba.

Artikel selanjutnya akan membahas Generate Key Aplikasi di Laravel 8

Leave a Reply

Your email address will not be published. Required fields are marked *