Melalui tutorial ini saya ingin menjelaskan bagaimana caranya mengubah tipe data dalam tabel database MySQL menggunakan fitur migrasi di Laravel. Langsung saja berikut struktur tabel database sebelum saya ubah:
Saya berencana ingin mengubah tipe data pada kolom nama dari varchar(255) menjadi tipe TEXT.
Berikut langkah-langkah mengubah tipe data tersebut. Pertama saya akan buat file migrasi baru dengan nama alter_nama_to_string_on_bendera_table dengan perintah:
php artisan make:migration alter_nama_to_text_on_bendera_table
jika berhasil, maka hasilnya akan mirip seperti pada gambar di bawah ini:
dari gambar di atas terlihat bahwa telah tercipta sebuah file dengan nama 2017_03_09_014929_alter_nama_to_text_on_bendera_table.php did alam folder database/migrations/
saya buka file tersebut dengan perintah:
vim database/migrations/2017_03_09_014929_alter_nama_to_text_on_bendera_table.php
berikut isi dari file tersebut:
kemudian saya tambahkan sedikit script untuk merubah tipe data kolom nama dari varchar ke text sehingga scriptnya menjadi seperti berikut:
sebelum dilakukan migrasi, kita harus menginstall modul baru yaitu doctrine/dbal dengan menjalankan perintah:
composer require doctrine/dbal
jika berhasil, maka proses instalasi-nya terlihat seperti berikut:
setelah itu saya jalankan proses perubahan tipe data dengan perintah:
php artisan migrate
jika berhasil, maka prosesnya akan terlihat seperti berikut:
kemudian ketika saya lihat lagi kolom bendera, maka hasilnya seperti berikut:
silakan lihat pada baris nama, dari varchar(255) sudah berubah menjadi text. Selamat mencoba ya :-)
Comments
CHANGE produksiairbaku produksiairbaku INT NOT NULL COLLATE utf8_unicode_ci)
saya terdapat error disini.
mohon solusinya.