Assalamualaikum Semua
Kembali ke cmd, jalankan perintah php artisan migrate
Periksa database di phpMyAdminJika berhasil maka akan muncul tabel baru di database
ADD FIELD WITH MIGRATION (1)
Buat migration untuk alter
Misalnya, pada tabel t_siswa perlu ditambahkan field golongan darah.
Buat migration untuk menambah field golongan darah, jalankan perintah ini di cmd ;
Kembali ke cmd, jalankan perintah php artisan migrate
ROLLBACK MIGRATION
jalankan perintah rollback migration
Misalnya, ada kesahalan penulisan pada file migrasi anda, tetapi migrasi sudah dilakukan. Anda ingin melakukan perubahan file yang sudah berhasil di migrasi. Sebelumnya anda harus melakukan rollback terlebih dahulu sebelum melakukan editing file migrasi tersebut.
Jalankan perintah php artisan migrate:rollback
Edit file add_goldar_t_siswa
Kembali ke cmd, jalankan perintah php artisan migrate
Periksa database di phpMyAdminJika berhasil maka akan muncul tabel baru di database
Rollback dijalankan hanya ketika anda sudah berhasil melakukan migrasi
Pastikan anda melakukan rollback terlebih dahulu sebelum melakukan
editing file migrasi untuk terhindar dari error
Rollback digunakan untuk melihat histori perubahan sebelumnya
Pada konsepnya, rollback digunakan untuk melihat perubahan apa yang terjadi
sebelum file-file migrasi yang baru dimigrasikan. Pada prakteknya, untuk tetap
menjaga histori database gunakan fitur alter apabila terjadi kesalahan yang
terjadi setelah anda melakukan migrasi
Buat migration untuk alter
Misalnya, pada tabel t_siswa terjadi perubahan nama field jenis_kelamin menjadi jenkel
Buat migration untuk mengubah field jenis_kelamin
Install package doctrine/dbal
Sesuai instruksi yang ada pada dokumentasi Laravel, untuk menjalankan migrasi renameColumn diperlukan library doctrine/dbal. Lakukan instalasi package tersebut menggunakan composer dengan menjalankan perintah dibawah ini pada root folder laravel anda (diperlukan koneksi internet)
composer require doctrine/dbal
Setelah package doctrine/dbal terinstall, jalankan perintah
kita jalankan di cmd perintah:
Lalu jalankan perintah
Hasilnya kita cek dan akan terlihat seperti ini:
2. Membuat migrasi data
Lalu jalankan perintah
Lalu jalankan perintah
Lalu jalankan perintah
Lalu jalankan perintah
Lalu jalankan perintah
Hallo semua selamat datang kembali. Saya Muhammad Aslam atau panggil saja Mas Lam akan berbagi pengetahuan tentang PHP langsung saja tanpa banyak basa basi lagi yu urang belajar PHP.
Sebelum memulai kita siapkan beberapa hal sebagai berikut:
Cari Path PHP anda
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
Konfigurasi PATH PHP
Sebelum memulai kita siapkan beberapa hal sebagai berikut:
Cari Path PHP anda
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
Konfigurasi PATH PHP
- 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
- Buka CMD, ketik php –v
- Konfigurasi PATH berhasil apabila muncul tampilan seperti gambar dibawah ini
Buat database
Buka phpMyAdmin, buat database baru dengan nama db_belajarlaravel
Edit .env
Buka file .env pada root folder project laravel anda, konfigurasi koneksi database di file tersebut
Membuat Table
- Buka CMD, masuk ke folder laravel menggunakan cd
- Ketik perintah php artisan make:migration create_t_siswa
- Secara otomatis akan muncul file baru pada folder database/migrations
- Buka file tersebut
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 dari fungsi yang dikerjakan pada function up
Edit file create_t_siswa
Membuat table t_siswa dengan field nis bertipe data integer, nama_lengkap dengan tipe data string (varchar) dan panjang 100 karakter, dan jenis kelamin dengan tipe data string (varchar) dan panjang 1 karakter Seperti dibawah ini
Membuat table t_siswa dengan field nis bertipe data integer, nama_lengkap dengan tipe data string (varchar) dan panjang 100 karakter, dan jenis kelamin dengan tipe data string (varchar) dan panjang 1 karakter Seperti dibawah ini
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateTSiswa extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('t_siswa', function (Blueprint $table) {
$table->id('id');
$table->integer('nis');
$table->string('nama_lengkap', 100);
$table->string('jenis_kelamin', 1);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('t_siswa');
}
}
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateTSiswa extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('t_siswa', function (Blueprint $table) {
$table->id('id');
$table->integer('nis');
$table->string('nama_lengkap', 100);
$table->string('jenis_kelamin', 1);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('t_siswa');
}
}
Kembali ke cmd, jalankan perintah php artisan migrate
Periksa database di phpMyAdminJika berhasil maka akan muncul tabel baru di database
ADD FIELD WITH MIGRATION (1)
Buat migration untuk alter
Misalnya, pada tabel t_siswa perlu ditambahkan field golongan darah.
Buat migration untuk menambah field golongan darah, jalankan perintah ini di cmd ;
php artisan make:migration add_goldar_t_siswa
Edit file add_goldar_t_siswa seperti dibawah ini
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class ChangeJenkelTSiswa extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('t_siswa', function($table){
$table->string('golongan_darah',1)->after('jenis_kelamin');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_siswa', function($table){
$table->dropColumn('golongan_darah');
});
}
}
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class ChangeJenkelTSiswa extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('t_siswa', function($table){
$table->string('golongan_darah',1)->after('jenis_kelamin');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_siswa', function($table){
$table->dropColumn('golongan_darah');
});
}
}
Kembali ke cmd, jalankan perintah php artisan migrate
ROLLBACK MIGRATION
jalankan perintah rollback migration
Misalnya, ada kesahalan penulisan pada file migrasi anda, tetapi migrasi sudah dilakukan. Anda ingin melakukan perubahan file yang sudah berhasil di migrasi. Sebelumnya anda harus melakukan rollback terlebih dahulu sebelum melakukan editing file migrasi tersebut.
Jalankan perintah php artisan migrate:rollback
Edit file add_goldar_t_siswa
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddGolonganDarah extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('t_siswa', function($table){
$table->string('goldar', 1)->after('jenis_kelamin');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_siswa', function($table) {
$table->dropColumn('goldar');
});
}
}
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddGolonganDarah extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('t_siswa', function($table){
$table->string('goldar', 1)->after('jenis_kelamin');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_siswa', function($table) {
$table->dropColumn('goldar');
});
}
}
Kembali ke cmd, jalankan perintah php artisan migrate
Periksa database di phpMyAdminJika berhasil maka akan muncul tabel baru di database
Rollback dijalankan hanya ketika anda sudah berhasil melakukan migrasi
Pastikan anda melakukan rollback terlebih dahulu sebelum melakukan
editing file migrasi untuk terhindar dari error
Rollback digunakan untuk melihat histori perubahan sebelumnya
Pada konsepnya, rollback digunakan untuk melihat perubahan apa yang terjadi
sebelum file-file migrasi yang baru dimigrasikan. Pada prakteknya, untuk tetap
menjaga histori database gunakan fitur alter apabila terjadi kesalahan yang
terjadi setelah anda melakukan migrasi
Buat migration untuk alter
Misalnya, pada tabel t_siswa terjadi perubahan nama field jenis_kelamin menjadi jenkel
Buat migration untuk mengubah field jenis_kelamin
php artisan make:migration change_jenkel_t_siswa
Edit file change_jenkel_t_siswa
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class ChangeJenkelTSiswa extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('t_siswa', function($table){
$table->renameColumn('jenis_kelamin', 'jenkel');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_siswa', function($table){
$table->renameColumn('jenkel', 'jenis_kelamin');
});
}
}
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class ChangeJenkelTSiswa extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('t_siswa', function($table){
$table->renameColumn('jenis_kelamin', 'jenkel');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_siswa', function($table){
$table->renameColumn('jenkel', 'jenis_kelamin');
});
}
}
Install package doctrine/dbal
Sesuai instruksi yang ada pada dokumentasi Laravel, untuk menjalankan migrasi renameColumn diperlukan library doctrine/dbal. Lakukan instalasi package tersebut menggunakan composer dengan menjalankan perintah dibawah ini pada root folder laravel anda (diperlukan koneksi internet)
composer require doctrine/dbal
Setelah package doctrine/dbal terinstall, jalankan perintah
php artisan migrate
Jika berhasil maka field akan berubah
Studi kasus
1.Buatlah migrasi baru untuk membuat tabel t_percobaan. Cobalah buat
minimal 15 field yang berbeda pada tabel tersebutkita jalankan di cmd perintah:
php artisan make:migration create_t_percobaan
lalu kita edit create_t_percobaan.php seperti dibawah ini
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateTPercobaan extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('t_percobaan', function (Blueprint $table) {
$table->id();
$table->integer ('nu');
$table->string ('nama_lengkap', 100);
$table->string ('nama_panggilan', 100);
$table->enum ('jenkel', ['Laki-laki', 'Perempuan']);
$table->date ('tanggal_lahir');
$table->string ('kota_asal', 100);
$table->string ('kota_tinggal', 100);
$table->boolean ('status_perkawinan');
$table->string ('pekerjaan');
$table->bigInteger ('pendapatan');
$table->enum ('per', ['Tahun', 'Bulan', 'Minggu', 'Hari']);
$table->integer ('pengeluaran_per_bulan');
$table->boolean('asuransi');
$table->string ('alamat_email', 100);
$table->string ('no_telepon', 100);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('t_percobaan');
}
}
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateTPercobaan extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('t_percobaan', function (Blueprint $table) {
$table->id();
$table->integer ('nu');
$table->string ('nama_lengkap', 100);
$table->string ('nama_panggilan', 100);
$table->enum ('jenkel', ['Laki-laki', 'Perempuan']);
$table->date ('tanggal_lahir');
$table->string ('kota_asal', 100);
$table->string ('kota_tinggal', 100);
$table->boolean ('status_perkawinan');
$table->string ('pekerjaan');
$table->bigInteger ('pendapatan');
$table->enum ('per', ['Tahun', 'Bulan', 'Minggu', 'Hari']);
$table->integer ('pengeluaran_per_bulan');
$table->boolean('asuransi');
$table->string ('alamat_email', 100);
$table->string ('no_telepon', 100);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('t_percobaan');
}
}
Lalu jalankan perintah
php artisan migrate
Hasilnya kita cek dan akan terlihat seperti ini:
2. Membuat migrasi data
- Buatlah tabel t_kelas dengan field nama_kelas, jurusan
Jalankan Perintah ini di cmd:
php artisan make:migration create_t_kelas
Lalu kita edit create_t_kelas.php sebagai berikut:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateTKelas extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('t_kelas', function (Blueprint $table) {
$table->id();
$table->string('nama_kelas',100);
$table->string('jurusan',100);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('t_kelas');
}
}
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateTKelas extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('t_kelas', function (Blueprint $table) {
$table->id();
$table->string('nama_kelas',100);
$table->string('jurusan',100);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('t_kelas');
}
}
Lalu jalankan perintah
php artisan migrate
- Buatlah perubahan tabel t_kelas dengan menambahkan field lokasi_ruangan dengan tipe data string dan panjang 100 karakter
Jalankan Perintah ini di cmd:
php artisan make:migration add_lokasi_ruangan_t_siswa
Lalu kita edit add_lokasi_ruangan_t_siswa.php sebagai berikut:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddLokasiRuanganTSiswa extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('t_kelas', function ($table) {
$table->string('lokasi_ruangan', 100);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_kelas', function ($table) {
$table->dropColumn('lokasi_ruangan');
});
}
}
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddLokasiRuanganTSiswa extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('t_kelas', function ($table) {
$table->string('lokasi_ruangan', 100);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_kelas', function ($table) {
$table->dropColumn('lokasi_ruangan');
});
}
}
Lalu jalankan perintah
php artisan migrate
- Buatlah perubahan tabel t_kelas dengan mengganti panjangnya menjadi 50 karakter
Jalankan Perintah ini di cmd:
php artisan migrate:rollback
Lalu kita edit add_lokasi_ruangan_t_siswa.php sebagai berikut:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddLokasiRuanganTSiswa extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('t_kelas', function ($table) {
$table->string('lokasi_ruangan', 50);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_kelas', function ($table) {
$table->dropColumn('lokasi_ruangan');
});
}
}
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddLokasiRuanganTSiswa extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('t_kelas', function ($table) {
$table->string('lokasi_ruangan', 50);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_kelas', function ($table) {
$table->dropColumn('lokasi_ruangan');
});
}
}
Lalu jalankan perintah
php artisan migrate
- Buatlah perubahan tabel t_kelas dengan menambahkan field nama_walkel dengan tipe data string dan panjang 50 karakter
Jalankan Perintah ini di cmd:
php artisan make:migration add_nama_walkel_t_kelas
Lalu kita edit add_nama_walkel_t_kelas.php sebagai berikut:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddNamaWalkelTKelas extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('t_kelas',function($table){
$table->string('nama_walkel',100);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_kelas',function($table){
$table->dropColumn('nama_walkel');
});
}
}
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddNamaWalkelTKelas extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('t_kelas',function($table){
$table->string('nama_walkel',100);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_kelas',function($table){
$table->dropColumn('nama_walkel');
});
}
}
php artisan migrate
- Buatlah perubahan tabel t_kelas dengan mengubah nama field nama_walkel menjadi nama_wali_kelas
Jalankan Perintah ini di cmd:
php artisan make:migration change_nama_walikelas
Lalu kita edit change_nama_walikelas.php sebagai berikut:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class ChangeNamaWalikelas extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('t_kelas',function($table){
$table->renameColumn('nama_walkel','nama_wali_kelas');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_siswa',function($table){
$table->renameColumn('jenkel','jenis_kelamin');
});
}
}
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class ChangeNamaWalikelas extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('t_kelas',function($table){
$table->renameColumn('nama_walkel','nama_wali_kelas');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('t_siswa',function($table){
$table->renameColumn('jenkel','jenis_kelamin');
});
}
}
Comments
Post a Comment