Migration Laravel – Selamat datang kembali di tutorial belajar laravel lengkap di www.malasngoding.com. sebelumnya kita sudah banyak sekali belajar tentang dasar-dasar dari laravel. mulai dari yang paling awal adalah cara instalasi laravel, kemudian kita juga sudah belajar tentang controller, views, blade templating, dan lain-lain.
Pada tutorial ini kita akan berkenalan dengan salah satu fitur yang sangat keren lagi di laravel. yaitu Migration.
Migration Laravel
Pada tutorial laravel ini, akan dibahas tentang pengertian migration, cara membuat file migration dan cara menggunakannya. juga dibahas tentang kegunaan dan apa saja keuntungan jika kita menggunakan fitur migration pada laravel ini, terlebih jika kita mengerjakan aplikasi menggunakan laravel dengan tim.
Pengertian Migration Laravel
Migration adalah sebuah fitur yang ada pada laravel, migration merupakan Control Version System untuk database. dengan menggunakan migration laravel, memungkinkan kita untuk mengelola database dengan lebih mudah.
Dengan menggunakan migration, kita bisa membuat table data dengan lebih mudah dan cepat. migration akan membuat atau meng-generate file-file migration sebagai control system. file-file ini lah yang bisa dikirim oleh programmer antara satu sama lain saat sedang membuat aplikasi.
Contoh, misalnya programmer A menangani proses pembuatan untuk data mahasiswa, Programmer B menangani proses pembuatan data dosen. dan programmer C menangani proses pembuatan data KRS dan KHS mahasiswa.
Nah, jika si programmer A melakukan perubahan pada table data mahasiswa nya, si programmer A ini tinggal mengirimkan file migration mahasiswa ke programmer yang lain agar bisa di migrate. jadi tidak perlu lagi export import file sql seperti yang selama ini kita lakukan.
Seperti yang sudah dijelaskan sebelumnya, migration menjadi control version system untuk bagian database, misalnya programmer A melakukan perubahan pada table mahasiswa, dan jika programmer A ingin mengembalikan lagi ke data sebelumnya, programmer A tinggal me-rollback.
Cara Membuat & Menggunakan Migration
Untuk membuat migration caranya kita bisa menggunakan perintah php artisan seperti sebelum-sebelumnya. dimana sebelumnya juga sudah dijelaskan tentang pengertian php artisan. dimana php artisan merupakan perintah atau kata kunci untuk menjalankan perintah-perintah laravel melalui command line atau terminal.
oh ya, jangan lupa melakukan konfigurasi database terlebih dulu pada file .env.
Silahkan buat database dan sesuaikan pengaturan koneksi databasenya pada file .env ini. di sini saya sudah memiliki database dengan nama belajar_laravel.
Buka file .env, kemudian sesuaikan dengan koneksi database teman-teman.
Teman-teman bisa langsung membuka terminal atau CMD, masuk ke direktori project laravel teman-teman melalui terminal atau cmd, kemudian untuk membuat migration kita bisa mengetikkan perintah berikut.
php artisan make:migration nama_migration
saya contohkan, misalnya kita akan membuat sebuah tabel mahasiswa, maka saya mengetikkan perintah
php artisan make:migration create_mahasiswa_table
Perhatikan gambar berikut.
migration laravel
maka akan muncul pemberitahuan bahwa migration telah dibuat dengan nama 2019_01_06_082107_create_mahasiswa_table.
lengkap dengan tanggal migration dibuat pada awal nama file nya. yaitu tanggal 6, bulan 1 dan tahun 2019.
Migration akan dibuat pada folder database/migrations.
membuat migration laravel
Di sana sudah ada migration bawaan default dari laravel, yaitu untuk membuat table user. yang ini akan kita bahas pada tutorial laravel selanjutnya, yaitu pada tutorial membuat login laravel. jadi sekarang kita abaikan dulu.
Sekarang coba buka file migration mahasiswa yang sudah kita buat di atas.
cara membuat tabel dengan migration
Dalam file migration ini, laravel sudah membuatkan 2 buah method atau function secara otomatis. yaitu method up() untuk membuat table. dan method down() untuk menghapus table atau rollback.
Pada method up() kita bisa menentukan kolum apa saja yang ingin kita buat pada table mahasiswa.
Secara default sudah ada kolum id dengan auto increment.
1
$table->increments('id');
dan sudah ada timestamps untuk membuat column created_at dan updated_at secara otomatis.
1
$table->timestamps();
Sedikit tambahan, fitur keren lagi dari laravel adalah laravel secara otomatis membuatkan kita kolum created_at yang akan menyimpan tanggal berapa record data tersebut dibuat, dan updated_at yang akan menyimpan data tanggal kapan record data tersebut di update. dan itu dilakukan secara otomatis oleh laravel.
jadi teman-teman jangan bingung. cukup ikuti saja tutorial ini, seiring perjalanan teman-teman akan paham sendiri saat teman-teman sudah mulai membuat table dengan migration.
Kita kembali ke topik,
Untuk membuat column lainnya pada table dengan migration, ada banyak sekali perintah yang bisa kita gunakan. berikut ini saya rangkum beberapa perintah yang akan sering sekali teman-teman gunakan ke depannya.
$table->increments(‘id’);
Untuk membuat kolum table yang menggunakan auto increment dengan type int, seperti yang biasa digunakan untuk membuat kolum id
$table->bigIncrements(‘id’);
Membuat kolum dengan type BigInt dan auto increment
$table->bigInteger(‘votes’);
Membuat kolum dengan type BigInt
$table->boolean(‘confirmed’);
Membuat Kolum dengan type boolean (true dan false)
$table->char(‘name’, 100);
Membuat kolum dengan type varchar dengan jumlah 100
$table->date(‘created_at’);
Membuat kolum dengan type date
$table->dateTime(‘created_at’);
Membuat kolum dengan type datetime
$table->decimal(‘amount’, 8, 2);
Membuat kolum dengan type decimal
$table->integer(‘votes’);
Membuat kolum dengan type integer / int
$table->string(‘name’, 100);
Membuat kolum dengan type varchar dan jumlah 100
$table->longText(‘description’);
Membuat kolum dengan type text yang panjang
$table->text(‘description’);
Membuat kolum dengan type text
$table->year(‘birth_year’);
Membuat kolum dengan type year
Pokoknya ada banyak sekali perintah yang bisa kita gunakan untuk membuat kolum-kolum pada table dengan menggunakan migration. teman-teman bisa lihat selengkapnya di sini. karena yang saya list di sini hanya sebagian yang sering digunakan saja.
Karena di sini saya membutuhkan kolum nama, nim dan alamat, maka function up() nya saya buat menjadi seperti berikut.
Silahkan teman-teman sesuaikan dengan kolum-kolum yang ingin teman-teman buat sesuai keinginan.
Kemudian kita bisa langsung mengetikkan perintah berikut pada terminal atau cmd teman-teman. agar file migration kita di jalankan. oh ya sebaiknya file migration yang lain (selain file migration yang kita buat barusan) di hapus saja dulu. di sini saya menghapus file migration user dan reset password. jadi cuma tinggal file migration mahasiswa saja.
Oke ketik perintah berikut.
php artisan migrate
php artisan migrate
Sekarang coba teman-teman lihat database nya, pasti sudah jadi table mahasiswanya.
migrate laravel
Perhatikan, ada 2 table yang di generate oleh migration. yaitu table mahasiswa sesuai dengan yang kita buat tadi. dan satunya lagi table migrations. table migrations secara default dibuat oleh laravel saat kita menggunakan migration. karena table migrations ini berguna untuk menyimpan semua data atau log migration yang kita lakukan.
table migration laravel
dan perhatikan juga table mahasiswa, seperti yang sudah saya jelaskan sebelumnya. dengan fungsi atau perintah $table->timestamps(); akan otomatis membuatkan kita kolum created_at dan updated_at yang akan menyimpan kapan record data tersebut dibuat atau diupdate.
membuat table dengan migration laravel
Sangat keren kan teman-teman fitur migration laravel ini.
Sampai disini teman-teman telah bisa membuat table dengan migration.
Merubah Nama table Dengan Migration Laravel
Untuk rename table dengan menggunakan Migration, sudah ada fungsi yang disediakan. teman-teman bisa menggunakan perintah
Tapi saya lebih sering mengubah nama table dengan langsung mengubah nama table pada fungsi up(). dan kemudian ketik perintah php artisan migrate. 🙂
Menghapus Table Dengan Migration
Untuk menghapus table dengan migration laravel, juga sudah ada fungsi atau method nya.
1
Schema::drop('nama_table');
atau
1
Schema::dropIfExists('nama_table');
Cara Rollback Migration Laravel
Seperti yang sudah saya jelaskan di awal tutorial ini, migration seperti menjadi control version system, semua perubahan database yang kita lakukan dengan migration semuanya di data, sehingga kita bisa melakukan rollback dengan mudah saat kita ingin mengubah format table ke versi sebelumnya sebelum kita ubah.
Kita bisa melakukan rollback dengan mengetik perintah php artisan berikut pada terminal atau cmd.
1
php artisan migrate:rollback
Atau jika kita ingin merollback beberapa langkah perubahan sebelumnya, kita bisa menambahkan perintah
1
php artisan migrate:rollback--step=5
Tergantung teman-teman ingin mengembalikan datanya ke perubahan yang keberapa.
Oke, Sekian dulu tutorial migration laravel. sampai jumpa pada tutorial laravel selanjutnya.
Diki Alfarabi Hadi
Coding enthusiast.
Someone who love learn something new. especially about web programming and web design. happy to share about knowledge and learn from other.
Action URL Laravel – Action URL adalah sebuah fitur pada laravel untuk tujuan generate URL ke controller, dan juga bisa mengirimkan data parameter seperti pada ...
Multi Bahasa Localization Laravel – Multi bahasa merupakan fitur pada website untuk menampilkan informasi dalam berbagai bahasa. Laravel telah menyediakan fitur multi bahasa. sehingga untuk ...
Import Excel Laravel – Setelah sebelumnya kita belajar tentang membuat export atau cetak laporan excel pada laravel, seperti ada yang kurang jika kita tidak membahas ...
Export Excel Laravel – Fitur export atau cetak laporan excel merupakan salah satu fitur yang paling penting. bagi teman-teman yang sering membuat aplikasi pesanan dari ...
Maaf mas saya sudah mengikuti tutorial tapi table mahasiswa saya tidak tertampil di database namun table migration saya tertampil, maka bagaimana cara mengatasinya? terima kasih
menuliskan
Schema::rename(‘nama_table_yang_ingin_di_rename’, ‘nama_baru’);
atau
Schema::drop(‘nama_table’);
atau
Schema::dropIfExists(‘nama_table’);
di bagian mananya ya, terminal atau gmn?
Download Ebook belajar HTML & CSS dasar untuk pemula gratis.
Ebook ini bisa di download oleh teman-teman yang baru mulai belajar HTML dan CSS dasar tapi tidak tahu mau memulai belajar dari mana.
materi pembelajaran sudah di susun secara sistematis dan di dukung contoh gambar.
[…] migration sudah kita bahas pada tutorial sebelumnya, silahkan teman-teman baca pada tutorial Migration Laravel […]
[…] teman-teman buat kedua buah table tersebut. teman-teman bisa membuatnya dengan menggunakan Migration dan mengisi datanya dengan Seeding […]
Maaf mas saya sudah mengikuti tutorial tapi table mahasiswa saya tidak tertampil di database namun table migration saya tertampil, maka bagaimana cara mengatasinya? terima kasih
apakah databasenya sudah di setting di file .env nya?
[…] baca kembali tutorial sebelumnya tentang migration laravel jika teman-teman lupa atau mungkin belum […]
kalau menulis Schema::rename(‘nama_table_yang_ingin_di_rename’, ‘nama_baru’); dibagian mana ya??
schema nya gak usah diubah, itu untuk penamaan table
menuliskan
Schema::rename(‘nama_table_yang_ingin_di_rename’, ‘nama_baru’);
atau
Schema::drop(‘nama_table’);
atau
Schema::dropIfExists(‘nama_table’);
di bagian mananya ya, terminal atau gmn?
pertama agan bikin dlu migration baru di cmd menggunakan command :
php artisan make:migration rename_table
kemudian buka file rename_table.php di folder migration. disini input schema nya:
Schema::rename(‘nama_table_yang_ingin_di_rename’, ‘nama_baru’);
klo udah baru gas ke cmd lagi php artisan migrate