Database Migration (Laravel)

Assalamu'alaikum Wr. Wb.

Hello Guys!
Kembali lagi bersama saya Salman Fauzan. Pada kesempatan kali ini, kita masih akan membahas seputar Framework PHP lebih tepatnya Laravel. Nah kali ini kita akan membahas tentang Database Migration. Sebelumnya, Apakah Database Migration itu?



Database Migration adalah sebuah Fitur untuk menjaga histori migrasi database (CREATE, ALTER, DROP), dan dapat mengaplikasikan migrasi baru ataupun mengembalikannya. Secara singkatnya, Database Migration digunakan untuk Mengoperasikan Database tanpa menggunakan query SQL melainkan menggunakan Code yang terdapat pada Laravel Framework.

Dalam Pembahasan kita kali ini, kita memerlukan beberapa Tools yaitu :
- Command Prompt (CMD)
- Text Editor (Sublime Text, Notepad++, Atom, dan lain - lain)

Setelah itu, pastikan bahwa posisi dari Command Prompt kalian telah berada pada folder Laravel Kemudian, buka file .env pada folder laravel lalu setting terlebih dahulu user, password dan databasenya.
Setelah itu, kita hanya perlu membuka Command Prompt saja dan menjalankan perintah php artisan

Create Table
Untuk membuat table kita dapat menggunakan perintah :

php artisan make:migration create_nama_table|

Nah setelah itu, kita hanya perlu mengedit file yang terdapat pada folder Laravel/database/migrations Ketika kita membuka file migrations tersebut maka kita akan menemukan 2 jenis function yaitu function up dan function down. Apa itu function up / function down ? Function Up adalah function yang akan dijalankan apabila terjadi proses migrate, sedangkan function down akan dijalankan apabila terjadi proses rollback. Ketikan codingan seperti ini pada function up :

Schema::create('nama_table', function (Blueprint $table) {
            $table->increments('id');

            $table->type_data('nama_varialbe');

            $table->timestamps();
        });
    }
Alter Table
Untuk menambahkan field kita dapat menggunakan perintah :

php artisan make:migration add_nama_variable_yang_akan_dialter_nama_table

Lalu kita kembali membuka file hasil migration tersebut kemudian edit function up :

Schema::table('nama_table', function($table) {

   $table->type_data('nama_variable_yang_akan_ditambahkan', 1)->after('nama_kolom_sebelumnya');

  });
Untuk mengubah nama field kita dapat menggunakan perintah :

php artisan make:migration change_nama_variable_baru_nama_table

Lalu kita kembali membuka file hasil migration tersebut kemudian edit function up :

Schema::table('nama_table', function($table) {

     $table->renameColumn('nama_varialbe_lama', 'nama_variable_baru');

});

Jangan lupa, setiap kali kita telah meng-edit file dari database migrations tersebut kita harus menjalakan php artisan migrate kembali untuk menjalankan method function up. Kemudian apabila kita ingin mengedit suatu file setelah melakukan migrations, kita dapat menggunakan perintah php artisan migrate:rollback setelah itu kita hanya perlu mengedit file yang akan diedit tersebut kemudian jalankan perintah php artisan migrate kembali

Studi Kasus 1
Membuat t_percobaan dengan 15 field / lebih :

public function up()
    {
        Schema::create('t_percobaan', function (Blueprint $table) {

            $table->increments('id');

   $table->integer('id_table');

   $table->string('nama_table', 100);

   $table->bigInteger('votes');

   $table->binary('data');

   $table->boolean('confirmed');

   $table->char('character', 100);

   $table->double('amount', 8 , 2);

   $table->float('jumlah'. 8 , 2);

   $table->enum('level', ['easy', 'hard']);

   $table->point('position');

   $table->time('sunrise');

   $table->text('description');

   $table->date('dd-mm-yyyy');

   $table->ipAddress('Visitors');

            $table->timestamps();
        });
    }

Hasil Pada Database :




Studi Kasus 2


 Tampilan File Codingan :

Hasil Pada Database :

Nah untuk perintah untuk menampilkan jenis - jenis tipe data yang berbeda- beda kalian dapat melihat pada website resmi Laravel sekaligus dapat digunakan untuk referensi pembelajaran.

Sekian yang dapat saya sampaikan. Mohon maaf bila ada kesalahan dalam pengetikan maupun penjelasan. See You Next!

Wassalamu'alaikum Wr. Wb.

Komentar