Database Migration -Sesi 12
Assalamualaikum WR WB
Hai!Kembali lagi ke blog saya.Pada postingan kali ini saya akan memberi tahu cara melakukan migrasi database pada laravel.Untuk lebih jelasnya kita langsung saja ke materi.Persiapan
1.Sebelumnya kita harus terlebih dahulu mencari path PHP anda,caranya:
Buka windows explorer, cari folder PHP di folder XAMPP anda, kemudian copy alamat path tersebut pada address bar
Lokasi folder PHP disesuaikan dengan lokasi anda menginstall XAMPP/PHP nya
2.Langkah selanjutnya,Anda harus mengkonfigurasi PATH PHP,caranya:
- Buka Windows Explorer, Klik kanan My Computer / This PC, pilih Properties
- Pilih menu Advance system settings
- Klik Environment Variables
- Pada tab System Variables, cari Variable Path
- Klik Edit pada Variable tsb.
- Klik New, lalu paste alamat path PHP anda
- Klik OK
4. Buatlah sebuah database,disini saya contohkan membuat db_belajarlaravel
5. Buka file .env pada root folder project laravel anda, konfigurasi koneksi database di file tersebut
Nah begitulah cara migrasi database di Laravel,selanjutnya kita langsung ke studi kasusnya!
Studi Kasus 1
Buatlah migrasi baru untuk membuat tabel t_percobaan. Cobalah buat minimal 15 field yang berbeda pada tabel tersebut
Pertama tama kita pergi ke cmd dan ketik php artisan make:migration create_t_ujicoba untuk membuat tabel baru dan jika berhasil maka akan muncul sebuah tulisan Created Migration: 2019_02_27_021748_create_t_percobaan seperti dibawah ini:
Kemudian buka file Created Migration: 2019_02_27_021748_create_t_ujicoba lalu edit untuk menambahkan field baru seperti dibawah:
Setelah itu kita ke cmd lagi lalu ketikan php artisan migrate dan jika berhasil maka akan muncul seperti di bawah:
Hasilnya akan sebagai berikut:
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.
Jawaban:
1. Buat t_kelas
D:\xampp2\htdocs\blog>php artisan make:migration create_t_kelas
Created Migration: 2019_02_24_043855_create_t_kelas
Created Migration: 2019_02_24_043855_create_t_kelas
Edit filenya:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateTKelas extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//1. Membuat field tabel t_kelas
Schema::create('t_kelas', function (Blueprint $table){
$table->increments('id');
$table->string('nama_kelas');
$table->string('jurusan');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateTKelas extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//1. Membuat field tabel t_kelas
Schema::create('t_kelas', function (Blueprint $table){
$table->increments('id');
$table->string('nama_kelas');
$table->string('jurusan');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}
Ke cmd lagi
D:\xampp2\htdocs\blog>php artisan migrate
Migrating: 2019_02_24_043855_create_t_kelas
Migrated: 2019_02_24_043855_create_t_kelas
Migrating: 2019_02_24_043855_create_t_kelas
Migrated: 2019_02_24_043855_create_t_kelas
Jika berhasil maka akan muncul di phpmyadmin
2. Menambah field lokasi_ruangan
D:\xampp2\htdocs\blog>php artisan make:migration add_lokasi_ruangan
Created Migration: 2019_02_24_044048_add_lokasi_ruangan
Created Migration: 2019_02_24_044048_add_lokasi_ruangan
Edit filenya:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddLokasiRuangan extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//2. Menambahkan field lokasi ruangan pada table t_kelas
Schema::table('t_kelas',function($table){
$table->string('lokasi_ruangan', 100)->after('jurusan');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_kelas', function($table){
$table->dropColumn('lokasi_ruangan');
});
}
}
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddLokasiRuangan extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//2. Menambahkan field lokasi ruangan pada table t_kelas
Schema::table('t_kelas',function($table){
$table->string('lokasi_ruangan', 100)->after('jurusan');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_kelas', function($table){
$table->dropColumn('lokasi_ruangan');
});
}
}
Ke cmd lagi
D:\xampp2\htdocs\blog>php artisan migrate
Migrating: 2019_02_24_044048_add_lokasi_ruangan
Migrated: 2019_02_24_044048_add_lokasi_ruangan
Migrating: 2019_02_24_044048_add_lokasi_ruangan
Migrated: 2019_02_24_044048_add_lokasi_ruangan
Jika berhasil maka akan muncul
3. Mengganti panjang menjadi 50
Ke cmd
D:\xampp2\htdocs\blog>php artisan make:migration change_length_of_t_kelas
Created Migration: 2019_02_24_044311_change_length_of_t_kelas
Created Migration: 2019_02_24_044311_change_length_of_t_kelas
Edit filenya:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class ChangeLengthOfTKelas extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//3. Edit data kelas
Schema::table('t_kelas', function (Blueprint $table){
$table->string('nama_kelas',50)->change();
$table->string('jurusan',50)->change();
$table->string('lokasi_ruangan',50)->change();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class ChangeLengthOfTKelas extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//3. Edit data kelas
Schema::table('t_kelas', function (Blueprint $table){
$table->string('nama_kelas',50)->change();
$table->string('jurusan',50)->change();
$table->string('lokasi_ruangan',50)->change();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}
Ke cmd lagi:
D:\xampp2\htdocs\blog>php artisan migrate
Migrating: 2019_02_24_044311_change_length_of_t_kelas
Migrated: 2019_02_24_044311_change_length_of_t_kelas
Migrating: 2019_02_24_044311_change_length_of_t_kelas
Migrated: 2019_02_24_044311_change_length_of_t_kelas
Dan lihat perubahannya d phpmyadmin
4. Menambah field nama_walkel
Ke cmd
D:\xampp2\htdocs\blog>php artisan make:migration add_nama_walkel
Created Migration: 2019_02_24_045046_add_nama_walkel
Created Migration: 2019_02_24_045046_add_nama_walkel
Edit filenya:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddNamaWalkel extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//4. Menambahkan field nama_walkel
Schema::table('t_kelas',function($table){
$table->string('nama_walkel', 50)->after('lokasi_ruangan');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_kelas', function($table){
$table->dropColumn('nama_walkel');
});
}
}
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddNamaWalkel extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//4. Menambahkan field nama_walkel
Schema::table('t_kelas',function($table){
$table->string('nama_walkel', 50)->after('lokasi_ruangan');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_kelas', function($table){
$table->dropColumn('nama_walkel');
});
}
}
Ke cmd lagi:
D:\xampp2\htdocs\blog>php artisan migrate
Migrating: 2019_02_24_045046_add_nama_walkel
Migrated: 2019_02_24_045046_add_nama_walkel
Migrating: 2019_02_24_045046_add_nama_walkel
Migrated: 2019_02_24_045046_add_nama_walkel
Dan lihat perubahannya d phpmyadmin
ketikan php artisan make:migration change_nama_walkel_t_kelas di cmd
k
D:\xampp2\htdocs\blog>php artisan make:migration change_nama_walkel_t_kelas
Created Migration: 2019_02_24_045704_change_nama_walkel_t_kelas
Created Migration: 2019_02_24_045704_change_nama_walkel_t_kelas
Edit filenya:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class ChangeNamaWalkelTKelas extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//5. Mengubah nama wali kelas
Schema::table('t_kelas',function($table){
$table->renameColumn('nama_walkel','nama_wali_kelas');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_kelas',function($table){
$table->renameColumn('nama_walkel','nama_wali_kelas');
});
}
}
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class ChangeNamaWalkelTKelas extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//5. Mengubah nama wali kelas
Schema::table('t_kelas',function($table){
$table->renameColumn('nama_walkel','nama_wali_kelas');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_kelas',function($table){
$table->renameColumn('nama_walkel','nama_wali_kelas');
});
}
}
Kemudian buka cmd:
D:\xampp2\htdocs\blog>php artisan migrate
Migrating: 2019_02_24_045704_change_nama_walkel_t_kelas
Migrated: 2019_02_24_045704_change_nama_walkel_t_kelas
Migrating: 2019_02_24_045704_change_nama_walkel_t_kelas
Migrated: 2019_02_24_045704_change_nama_walkel_t_kelas
Dan lihat hasilnya:
Mungkin cukup sekian postingan kali ini semoga postingan ini menjadi manfaat untuk kita semua.
Mohon maaf apabila ada kesalahan dan kekurangan,Sampai ketemu di postingan selanjutnya.
Salam Coding!
Wasslamualaikum WR.WB
Komentar
Posting Komentar