Minggu, 24 Februari 2019

DATABASE MIGRATIONS (Masih Laravel) - Sesi 2 | Nassya Putri R

Assalamualaikum teman-teman yang sedang melihat blog saya kali ini hihi! Apa kabar semuanya? Semoga selalu dalam keadaan sehat wal'afiat dan selalu dalam lindungan-Nya ya. Kali ini informasi apa sih yang bakal saya bagikan? Nah seperti yang kalian liat pada judul blog saya. Kali ini, saya akan membagikan informasi tentang Migrasi pada Database (masih menggunakan framework laravel). Semoga informasi yang saya sampaikan kali ini dapat bermanfaat bagi teman teman ya. Langsung saja kita mulai yuk..

Apa itu Migration ?

Menyadur dokumentasi Laravel, Migration bekerja seperti version control untuk database yang membuat anggota tim lebih mudah dalam memodifikasi skema database yang digunakan oleh aplikasi kita.

Bagaimana cara menggunakannya?

1. Pertama-tama disini saya sudah membuat db_belajarlaravel yang sebelumnya sudah saya lakukan migrasi dengan melakukan pembuatan t_siswa.

2. Buka file .env pada root folder project laravel anda, konfigurasi koneksi database di file tersebut.

3. Setelah itu masuk ke folder laravel kalian menggunakan cmd



STUDI KASUS 1
- Buatlah migrasi baru untuk membuat tabel t_percobaan. Cobalah buat minimal 15 field yang berbeda pada tabel tersebut.

Langkah 1 :

Secara otomatis akan muncul file baru pada folder database/migrations. Kemudian buka file tersebut.
Langkah 2 :


Dalam method up(), terdapat method create() dan class Schema yang berfungsi untuk membuat tabel baru dengan nama t_percobaan. Sedangkan di method down() sendiri berisi method dropIfexists() dari class Schema yang berfungsi untuk menghapus tabel t_percobaan apabila di-rollback.

  • Schema::create('t_percobaan', function (Blueprint $table) {..} = Memanggil method create() dari class Schema.
  • $table->increments('id_percobaan')->unique; = Method untuk membuat increment field dengan nama id_percobaan dengan nilai yang unik.
Rumus membuat field : $table->tipedata('namavariable', 'panjangvariable);
Disana saya membuat 15 field dengan tipe data berbeda, untuk menguji penggunaan dan memenuhi tugas study kasus saya.

Langkah 3 :


Note: ketika saya mengecek bahwa pembuatan table t_percobaan berhasil atau tidak, ditemukan syntax error seperti gambar diatas. Dimana, primary key lebih dari satu. Mengapa? Setelah saya telaah, ternyata penggunaan tipe data (int, bigInt, dan tinyInt) memungkinkan secara default menjadikan field tersebut sebagai primary key. Sehingga beberapa field, tipe datanya saya ubah.

Langkah 4 : 


Periksa localhost/PhpMyAdmin table yang sudah dibuat.

Nah bagaimanaa teman-teman? Mudah bukan? Mari lanjut ke Study Kasus 2!


 STUDY KASUS 2
- Buat Migrasi Data
  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.
Ayo kita mulai..

1. Buatlah tabel t_kelas dengan field nama_kelas, jurusan.
 * php artisan make:migration create_t_kelas


* Buka filenya pada database/migrations

Ketikkan perintah tersebut untuk membuat field
* Lakukan pengecekan pada table


* Lihat struktur table di PhpMyAdmin



2. Buatlah perubahan tabel t_kelas dengan menambahkan field lokasi_ruangan dengan tipe data string dan panjang 100 karakter.

php artisan make:migration add_lokasi_ruangan_t_kelas


* buka file pada database/migrations kemudian edit

ketikkan perintah diatas untuk memperbaiki struktur table

* Jalankan kembali perintah migrate


* Periksa PhpMyAdmin


3. Buatlah perubahan tabel t_kelas dengan mengganti panjangnya menjadi 50 karakter.
note :  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


* Buka kembali, kemudian edit file



* Jalankan kembali perintah migrate


* Cek PhpMyAdmin


4. Buatlah perubahan tabel t_kelas dengan menambahkan field nama_walkel dengan tipe data string dan panjang 50 karakter.

* php artisan make:migration add_nama_walkel_t_siswa


* buka filenya kemudian edit



* Lakukan migrate


* Cek PhpMyAdmin


5. Buatlah perubahan tabel t_kelas dengan mengubah nama field nama_walkel menjadi nama_wali_kelas.

* php artisan make:migration change_jenkel_t_siswa


* Buka filenya kemudian edit


note : 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 terinstall lakukan migrate

(ketika installasi berhasil)
sumber : gg.gg/s4sesi12


* Buka PhpMyAdmin



Nah, begitu teman-teman cara menggunakan Migrate pada Database. Tak hanya membuat tabel baru, dengan migration, kita juga bisa memodifikasi field atau opsi lain pada tabel yang sudah ada.

Masih ada tiga aksi lagi yang tersedia pada migration, ialah status, refresh dan install, yang ketiganya berfungsi sebagai berikut:
  • install membuat repositori migrations.
  • refresh rollback sepenuhnya migration, kemudian menjalankan ulang migrations tersebut dari awal.
  • status memeriksa status migrasi saat ini.
Selain membuat tabel dan memodifikasinya, masih ada banyak hal yang dapat dilakukan dengan migrations pada Laravel. Aksi lainnya semisal menghapus atau mengganti nama tabel yang sudah ada, menghapus field, membuat indeks, foreign key, dan lainnya. Tutorial di atas merupakan basic yang sudah mencakup sebagian besar fitur migrations. Kalau ingin belajar lebih dalam, bisa langsung ke official situs resmi Laravel di https://laravel.com/docs/5.3/migrations

Nah teman-teman, sekian saja informasi yang dapat saya bagikan. Dilain waktu saya akan membagikan informasi lagi kepada teman-teman, jadi jangan bosan untuk mengunjungi blog sayaa ya. Selamat belajar dan sehat selalu!!💕💕

Tidak ada komentar:

Posting Komentar

INTRODUCING ELOQUENT

Assalamualaikum teman-teman yang sedang melihat blog saya kali ini hihi! Apa kabar semuanya? Semoga selalu dalam keadaan sehat wal'afiat...