Login Dengan Social Media di Laravel Menggunakan Socialite #2 : Model & Migration


Fika Ridaul Maulayya
Full-Stack Web Developer, Content Creator and CO-Founder SantriKoding.com
Login Dengan Social Media di Laravel Menggunakan Socialite #2 : Model & Migration

Login Dengan Social Media di Laravel Menggunakan Socialite #2 : Model & Migration - Halo teman-teman semuanya, pada kesempatan kali ini kita semua akan belajar bagaimana cara membuat Model & Migration table untuk dijadikan sebagai OAuth Sosial Media dari aplikasi kita.

Jadi nanti kita akan melakukan sedikit konfigurasi dari file migration User bawaan Laravel dan kita juga akan membuat baru untuk menyimpan data dari Sosial Media menggunakan One to Many.

Jadi nanti 1 User bisa memiliki lebih dari 1 Sosial Media, dan tentunya kita akan membuat sebuah model dan sekaligus migration baru. Langsung saja kita mulai.

Langkah 1 - Edit File Migration User

Secara bawaan laravel sudah menyediakan file Model & Migration untuk User, nah ini akan sangat membantu kita sekali dalam pembuatan sebuah aplikasi.

Untuk praktek kali ini kita akan melakukan sedikit konfigurasi dari file Migration User bawaan dari laravel. Silahkan teman-teman buka file database/migrations/2014_10_12_000000_create_users_table.php silahkan ubah pada function up menjadi seperti berikut ini :

public function up()
{
  Schema::create('users', function (Blueprint $table) {
      $table->id();
      $table->string('name');
      $table->string('email')->unique()->nullable();
      $table->timestamp('email_verified_at')->nullable();
      $table->string('password')->nullable();
      $table->rememberToken();
      $table->timestamps();
   });
}

Bisa kita lihat, pada perubahan di atas, kita hanya menambahkan function nullable( ) pada coloumn email dan password.

Karena pada dasarnya tidak semua Sosial Media mengizinkan aplikasi kita mengakses kredensial emailnya.

Langkah 2 - Membuat Model & Migration SocialAccount

Pada tahap kali ini, kita semua akan membuat sebuah Model berserta Migration untuk menyimpan data provider dari Sisial Media yang akan User gunakan untuk melakukan OAuth.

Silahkan teman-teman jalankan perintah dibawah ini :

php artisan make:model SocialAccount -m

Dari perintah di atas, kita akan mendapatkan 2 file baru, yaitu App/SocialAccount.php dan database/migrations/2020_04_18_013943_create_social_accounts_table.php

Silahkan teman-teman buka file migrationnya database/migrations/2020_04_18_013943_create_social_accounts_table.php dan ubahlah pada function up menjadi seperti berikut ini :

public function up()
{
  Schema::create('social_accounts', function (Blueprint $table) {
    $table->id();
    $table->bigInteger('user_id');
    $table->string('provider_id')->unique();
    $table->string('provider_name');
    $table->timestamps();
  });
}

Langkah 3 - Menjalankan Migration

Setelah kita berhasil mengubah beberapa file migration User dan kita juga sudah berhasil membuat migration baru untuk menyimpan data Sosial Medinya, langkah selanjutnya kita akan menjalankan proses migration.

Silahkan teman-teman jalankan perintah dibawah ini :

php artisan migrate

Jika berhasil, teman-teman bisa melihat kita sudah dibuatkan tabelnya di dalam database, kurang lebih seperti berikut ini :


Sampai disini pembahasan tentang mengubah dan membuat Migration baru, di artikel selanjutnya kita semua akan belajar bagaimana cara mengkonfigurasi Relationships One to Many dari tabel / Model Users ke SocialAccount.

Terima Kasih


Fika Ridaul Maulayya
Full-Stack Web Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami