Pemrograman Web ~ Database Migration

Assalamualaikumwarohmatullahi wabarokatu

Halohalo haloo kembali lagi dengan saya dengan artikel pemrograman web . Kali ini kita akan melanjutkan tentang laravel dengan materi Database Migration .

Sebelum kita melanjutkan ke pembahasan pertama-tama harus mengecek dahulu konfigurasi PATH-nya dengan cara buka cmd lalu ketikkan php -v , jika berhasil akan keluar seperti ini :

jika gagal maka harus mengsetting Path nya terlebih dahulu dengan cara :
  1. buka windows explorer ,cari foleder php lalu copykan alamat foldernya 
  2. Klick kanan MyComputer / This PC,  pilih properties
  3. pilih menu Advance system settings
  4. Klick kanan  Environment Variables 
  5. Pada tab System Variables , cari Variable Path
  6. Klick Edit pada Variable tsb
  7. Klick new, lalu paste alamat path PHP anda 
  8. klick ok , lalu tutup semua tab dan cmd
  9. buka kembali cmd lalu coba kembali ketikkan php-v
Bila sudah selesai  kita dapat melanjutkan ke Database Migration . Pertama buka masuk ke folder laravel di CMD , lalu buat database baru dengan nama db_belajarlaravel .

Edit .env
buka file .env pada root folder project laravel anda,konfigurasi koneksi database di file tersebut 
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_belajarlaravel
DB_USERNAME=root
DB_PASSWORD=

Buat table t_siswa dengan  cara , ketikkab perintah php artisan make:migration create t_siswa . Secara otomatis akan muncul file baru pada folder database/migrations.Buka file tersebut , Lalu edit dengan menambahkan Codingan berikut 
 public function up()
    {
        Schema::create('t_siswa'function (Blueprint $table) {
            $table->id();
            $table->integer('nis');
            $table->string('nama_lengkap'100);
            $table->string('jenis_kelamin'1);
            $table->timestamps();
        });
    }

penjelasan : 
Codingan tersebut bertujuan membuat field

note:
  • function up : Fungsi yang dijalankan ketika database di migrate , biasanya menjalankan perintah create table, ataupun alter table
  • function down : Fungsi yang dijalankan ketika database di rollback , biasanya kebalikan dengan fungsi yang dikerjakan pada function up
Lalu jalankan perintah migrate di CMD , Setelah itu coba Periksa Database di phpMyAdmin bila sucsess maka akan muncul database dan tabel t_siswanya

Misalnya . pada tabel t_siswa perlu ditambahkan field golongan darah , kita tinggal buat file alter dengan menjalankan perintah php artisan make:migration add_goldar_t_siswa  di CMD, Lalu edit file nya dengan menambahkan Codingan berikut 

public function up()
    {
        Schema::table('t_siswa'function ($table) {
            $table->string('golongan_darah'1)->after('jenis_kelamin');
        });
    }

public function down()
    {
        Schema::table('t_siswa'function ($table) {
            $table->dropColumn('golongan_darah');
        });
    }

Jalankan perintah migrate lalu cek kembali database di phpMyAdmin

Misalnya , ada kesalahan penulisan pada file migrasi anda, tetapi migrasi sudah dilakukan ,dan anda ingin melakukan perubahan pada file tersebut , anda dapat melakukan perintah  php artisan migrate:rollback  pada CMD, lalu edit filenya, contohnya seperti berikut 
 public function up()
    {
        Schema::table('t_siswa'function ($table) {
            $table->string('goldar'1)->after('jenis_kelamin');
        });
    }

public function down()
    {
        Schema::table('t_siswa'function ($table) {
            $table->dropColumn('goldar');
        });
    }

Setelah itu jalankan perintah migrate dan cek kembali database di phpMyAdmin 

note :
  • Rollback dijalankan hanya ketika anda sudah berhasil melakukan migrasi
  • Rollback digunakan untuk melihat histori perubahaan sebelumnya 
Misalnya , pada table t_siswa terjadi perubahaan nama field jenis_kelamin menjadi jenkel. Buat migration untuk mengubah field jenis_kelamin dengan menjalanjan perintah php artisan make:migration change_jenkel_t_siswa pada CMD, lalu edit file dengan menambahkan Codingan berikut :
    public function up()
    {
        Schema::table('t_siswa'function ($table) {
            $table->renameColumn('jenis_kelamin''jenkel');
        });
    }

    public function down()
    {
        Schema::table('t_siswa'function ($table) {
            $table->renameColumn('jenkel''jenis_kelamin');
        });
    }

Sebelum menjalankan perintah migrate diperlukan library doctrine/dbal. dengan melakukan instalasi package dicomposer dengan menjalankan perintah composer require doctrine/dbal pada root folder laravel anda *ingat diperlukkan koneksi internet 

Tunggu sampai selesai setelah itu lakukan perintah mirage seperti biasa dan coba cek database nya di phpMyAdmin

Studi Kasus 1 
Buatlah migrasi baru untuk membuat tabel t_percobaan , Cobalah buat minimal 15 field yang berbeda pada table tersebut bedasarkan dokumentasi dari laravel dari link berikut : creat-colmuns

  • Buat table dengan perintah php artisan make:migratin creat_t_percobaan di CMD
  • lalu Edit file untuk membuat field, contohnya 
 public function up()
    {
        Schema::create('t_percobaan'function (Blueprint $table) {
            $table->id();
            $table->foreignId('user_id');
            $table->boolean('confirmed');
            $table->binary('binary');
            $table->char('name'100);
            $table->date('date');
            $table->dateTime('datetime'0);
            $table->decimal('decimal'82);
            $table->double('double'52);
            $table->enum('level', ['mudah''susah']);
            $table->float('float'42);
            $table->integer('pilih');
            $table->set('rasa', ['strawberry''vanilla']);
            $table->string('string'100);
            $table->text('deskripsi');
            $table->year('tahun');
            $table->timestamps();
        });
    }
  • Cek database , hasilnya :

Studi Kasus 2 
  1. Buatlah tabel t_kelas dengan field nama_kelas, jurusan
  2. Buatlah perubahan tabel t_kelas dengan menambahkan field lokasi_ruangan  dengan tipe data string dan panjang 100 karakter
  3. Buatlah perubahan tabel t_kelas dengan mengganti panjangnya menjadi 50 karakter
  4. Buatlah perubahan tabel t_kelas dengan menambahkan field nama_walkel dengan tipe data string dan panjang 50 karakter 
  5. Buatlah  perubahan tabel t_kelas dengan mengubah nama field nama_walkel menjadi nama_wali_kelas 
Pertama jalankan perintah php artisan make:migration creat_t_kelas pada CMD untuk membuat tabelnya 
Lalu tambahkam Codingan berikut untuk menambahkan field lokasi_ruangan
public function up()
    {
        Schema::create('t_kelas'function (Blueprint $table) {
            $table->id();
            $table->string('lokasi_ruangan', 100);
            $table->timestamps();
        });
    }
lalu jalankan perintah Migrate dan Cek Databasenya :
Untuk mengubah panjang karakter sekaligus menambahkan field nama_walkel, kita jalankan perintah php artisan migrate:rollback , lalu ubah codingannya menjadi 
public function up()
    {
        Schema::create('t_kelas'function (Blueprint $table) {
            $table->id();
            $table->string('lokasi_ruangan'50);
$table->string('nama_walkel'50);
            $table->timestamps();
        });
    }
lalu jalankan perintah Migrate dan Cek Databasenya :
Untuk mengubah nama field nama_walkel , kita buat dahulu file dengan menjalankan perintah php artisan make:migration change_walkel_t_kelas  diCMD , lalu ubah dan tambahkan codingandifile nya :
public function up()
    {
        Schema::table('t_kelas'function ($table) {
            $table->renameColumn('nama_walkel''nama_wali_kelas');
        });
        //
    }

        public function down()
    {
        Schema::table('t_kelas'function ($table) {
            $table->renameColumn('nama_wali_kelas''nama_walkel');
        });
        //
    }

Lalu jalankan perintah migrate seperti biasa dan Cek Databasenya :

Yaa cukup sekian saja pembahasannya untuk kali ini . tunggu pembahasan berikutnya , cyaa

Wassalamualaikum Warohmatullahi Wabarokatu

Comments

Popular Posts