{"id":957,"date":"2022-01-25T10:05:00","date_gmt":"2022-01-25T03:05:00","guid":{"rendered":"https:\/\/duniacoding.info\/?p=957"},"modified":"2022-01-25T09:06:04","modified_gmt":"2022-01-25T02:06:04","slug":"belajar-laravel-database-migrations","status":"publish","type":"post","link":"https:\/\/duniacoding.id\/blog\/belajar-laravel-database-migrations\/","title":{"rendered":"Belajar Laravel 8 #6 : Database Migrations"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2021\/12\/laravel_logo_icon_170314.png\" alt=\"database-migrations\" class=\"wp-image-762\" width=\"840\" height=\"420\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/laravel_logo_icon_170314.png 512w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/laravel_logo_icon_170314-300x150.png 300w\" sizes=\"(max-width: 840px) 100vw, 840px\" \/><figcaption>Belajar Laravel<\/figcaption><\/figure>\n\n\n\n<p>Halo Coders, artikel kita kali ini akan terfokus membahas tentang Database Migrations. Seperti yang aku jelaskan di Artikel <a href=\"https:\/\/duniacoding.info\/belajar-laravel-struktur-folder-laravel\/\" target=\"_blank\" rel=\"noopener\">Belajar Laravel #3 : Struktur Folder Laravel<\/a>, Laravel memiliki satu Folder khusus yang bisa kita gunakan untuk mengolah kebutuhan Database kita. Mulai dari membuat Tabel sampai Mengisimua dengan Data <em>Dummy<\/em>.<\/p>\n\n\n\n<p>Folder tersebut adalah Folder <code>database<\/code>. Nah kita akan membahas salah satu Fitur dari Laravel yang berhubungan dengan Folder tersebut, yaitu Database Migrations.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Apa itu Database Migrations?<\/h2>\n\n\n\n<p>Kalau kita buka Dokumentasi di <a href=\"https:\/\/laravel.com\/docs\/8.x\/migrations\" target=\"_blank\" rel=\"noopener\">Laravel Database: Migrations<\/a>, disana tertulis <code>\"<em>Migrations are like version control for your database, allowing your team to define and share the application's database schema definition<\/em>\"<\/code>. Kalau diartikan, artinya Migrations ini adalah version control dari Database kita, cara kerjannya kurang lebih mirip Git. <\/p>\n\n\n\n<p>Jadi dengan Database Migrations ini kita bisa mengatur Versi Database sesuai keinginan kita. Kalau teman-teman lihat sebenarnya didalam Folder <em>migrations <\/em>sudah terdapat beberapa file, nama filenya cukup panjang dan berisi kata-kata untuk <code>create_table<\/code> tertentu. Nah File ini lah yang akan kita gunakan untuk Database Migrations kita. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Penerapan Database Migrations<\/h2>\n\n\n\n<p>Okay sekarang kita akan menerapkan Database Migrations. Disini aku sarankan teman-teman menggunakan sebuah Projek Laravel yang masih kosong, disana kita akan mempraktekan Migrations secara langkah demi langkah.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Setting <code>.env<\/code><\/h3>\n\n\n\n<p>Nah, sebelum kita benar-benar bisa melakukan Database Migrations, kita harus setting dulu <em>environment <\/em>file kita. <em>environment <\/em>ini berisi beberapa settingan untuk Laravel kita, salah satunya Database apa yang kita gunakan? settingan <em>username <\/em>dan <em>password<\/em>, dan beberapa settingan lainnya. <\/p>\n\n\n\n<p>Pada file .env ini kita hanya akan terfokus ke settingan database saja. Perhatikan bagian ini<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nDB_CONNECTION=mysql\nDB_HOST=127.0.0.1\nDB_PORT=3306\nDB_DATABASE=laravel\nDB_USERNAME=root\nDB_PASSWORD=\n<\/pre><\/div>\n\n\n<p>Disana tertulis beberapa hal yang harus kita perhatikan, terutama <code>DB_DATABASE<\/code>, <code>DB_DATABASE<\/code> ini berguna untuk mengingat nama <em>Database <\/em>yang akan kita gunakan. jadi silahkan ganti sesuai keinginana teman-teman, disini akan aku ganti dengan <code>example<\/code>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nDB_CONNECTION=mysql\nDB_HOST=127.0.0.1\nDB_PORT=3306\nDB_DATABASE=example\nDB_USERNAME=root\nDB_PASSWORD=\n<\/pre><\/div>\n\n\n<p>Setelah selesai diganti, kita akan masuk ke Langkah selanjutnya.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Buat Database<\/h3>\n\n\n\n<p>Langkah selanjutnya yang akan kita lakukan adalah membuat Database. Simpe saja, teman-teman boleh gunakan <code>XAMPP<\/code>, atau <code>Laragon<\/code>. Tapi pastikan nama <em>Database <\/em>yang kita buat sesuai dengan settingan kita di file<code> .env<\/code>, kalau disini aku akan membuat database dengan nama <code>example<\/code>. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Buat Tabel Migrations<\/h3>\n\n\n\n<p>Nah, sekarang kita terfokus lagi pada Folder <code>database\/migrations<\/code>. Sekarang kita akan menambahkan sebuah File baru disana, untuk Studi kasus kita kita gunakan 1 Tabel saja yaitu table <code>Student<\/code>. Pertama, jalankan perintah dibawah pada Terminal kalian yang sudah mengarah ke Projek Laravel<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nphp artisan make:migration create_students_table\n<\/pre><\/div>\n\n\n<p>Setelah itu, kita buka file yang sudah kita buat di <code>2022_01_19_032237_create_students_table.php<\/code>. Lalu, fokus kita akan masuk kedalam <code>public function up()<\/code>. Fungsi ini adalah fungsi yang akan kita gunakan untuk mengatur Kolom dari Tabel kita. Untuk beberapa isinya, bisa kalian lihat di Dokumentasi Laravel <a href=\"https:\/\/laravel.com\/docs\/8.x\/migrations#available-column-types\" target=\"_blank\" rel=\"noopener\"><a href=\"https:\/\/laravel.com\/docs\/8.x\/migrations#available-column-types\" target=\"_blank\" rel=\"noopener\">Available Column Types<\/a><\/a>. Disini kita akan buat yang simple saja yaitu string untuk nama, email, telepon, nomor siswa dan integer untuk umur. Kurang lebih jadinya seperti ini<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\npublic function up()\n    {\n        Schema::create(&#039;students&#039;, function (Blueprint $table) {\n            $table-&gt;id();\n            $table-&gt;string(&#039;name&#039;);\n            $table-&gt;string(&#039;email&#039;)-&gt;unique();\n            $table-&gt;string(&#039;phone&#039;);\n            $table-&gt;string(&#039;student_number&#039;);\n            $table-&gt;integer(&#039;age&#039;);\n            $table-&gt;timestamps();\n        });\n    }\n<\/pre><\/div>\n\n\n<p>Setelah selesai kita setting kita akan <code>running migration<\/code> di Terminal kita. <code>running migration<\/code> ini berguna untuk <em>upload <\/em>Settingan <em>Database <\/em>kita ke <code>MySQL <\/code>kita. Sekarang mari coba kita jalankan dan akan kita lihat perubahan yang terjadi di <em>Database<\/em><code><em> <\/em>example<\/code> yang kita buat tadi. Jalankan syntax ini di Terminal kita<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nphp artisan migrate\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Lihat Hasil<\/h2>\n\n\n\n<p>Setelah berhasil menjalankan <code>php artisan migrate<\/code>. Sekarang kita lihat perubahan yang terjadi di <em>Database <\/em>yang sudah kita buat<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"258\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2022\/01\/Lar-6-2-1024x258.png\" alt=\"\" class=\"wp-image-959\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-6-2-1024x258.png 1024w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-6-2-300x76.png 300w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-6-2-768x194.png 768w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-6-2-1536x387.png 1536w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-6-2.png 1677w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Nah sekarang sudah terdapat beberapa tabel, salah satunya adalah tabel <code>students<\/code> yang kita buat. Untuk Tabel lain tidak usah kita perhatikan karena itu adalah Tabel <code>default<\/code> dari Laravel. Sekarang kita lihat apakah di tabel <code>students<\/code> sudah sesuai dengan <em>setting <\/em>kita atau belum.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"156\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2022\/01\/Lar-6-3-1024x156.png\" alt=\"\" class=\"wp-image-960\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-6-3-1024x156.png 1024w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-6-3-300x46.png 300w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-6-3-768x117.png 768w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-6-3-1536x234.png 1536w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-6-3.png 1677w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Bisa dilihat ya teman-teman, kita sudah selesai membuat Tabel<em> <\/em><code>students<\/code> dan sudah sesuai dengan settingan kita dari <code>name <\/code>sampai <code>age<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kesimpulan<\/h2>\n\n\n\n<p>Nah kita sudah selesai belajar Database Migrations nih di Artikel ini, sebenarnya masih ada beberapa fungsi yang bisa kita gunakan di <code>Migrations <\/code>ini. Untuk lebih lengkap nya bisa dilihat di Dokumentasi Laravel <a href=\"https:\/\/laravel.com\/docs\/8.x\/migrations\" target=\"_blank\" rel=\"noopener\">Database: Migrations<\/a>.<\/p>\n\n\n\n<p>Jangan lupa kalian bisa belajar tentang artikel Laravel lainnya disini<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><a href=\"https:\/\/duniacoding.info\/belajar-laravel-tampilan-pada-laravel\/\" target=\"_blank\" rel=\"noopener\">Belajar Laravel 8 #5 : Tampilan pada Laravel<\/a><\/li><\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Halo Coders, artikel kita kali ini akan terfokus membahas tentang Database Migrations. Seperti yang aku jelaskan di Artikel Belajar Laravel #3 : Struktur Folder Laravel, Laravel memiliki satu Folder khusus yang&#46;&#46;&#46;<\/p>\n","protected":false},"author":2,"featured_media":762,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[120,93,49],"class_list":["post-957","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial","tag-database","tag-laravel","tag-tutorial"],"_links":{"self":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts\/957","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/comments?post=957"}],"version-history":[{"count":2,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts\/957\/revisions"}],"predecessor-version":[{"id":981,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts\/957\/revisions\/981"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/media\/762"}],"wp:attachment":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/media?parent=957"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/categories?post=957"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/tags?post=957"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}