Hai kembali lagi di blog saya kodekreasi.com , kali ini kita akan membahas cara mengatasi foreign key constraint is incorrectly formed pada laravel. Error tersebut sering terjadi saat menjalankan migration pada laravel. Sebetulnya error tersebut dapat disebabkan oleh berbagai masalah, namun yang sering saya temui error yang terjadi diakibatkan karena letak file migration yang kita generate tidak urut dikarenakan laravel menjalankan migration diawali dari file yang paling atas menuju file paling bawah maka kita harus meletakkan file migration tabel parent diatas file migration tabel childnya. Sebagai contoh saya mempunyai dua buah tabel yang berrelasi seperti pada gambar berikut ini :
Dari gambar database tersebut saat mengenerate file migrationnya kita harus meletakkan tabel prodi diatas tabel mahasiswa pada migration yang kita generate . Namun jika sudah terlanjur kalian dapat mengikuti langkah-langkah berikut untuk megatasi error foreign key constraint is incorrectly formed tersebut.
Mengatasi foreign key constraint is incorrectly formed
1.Langkah yang pertama silakan amati error yang tertampil pada terminal atau CMD kalian saat menjalankan migration tadi. Berikut error yang tertampil pada terminal saya :
Perhatikan error yang saya beri tanda merah pada gambar diatas. Dari gambar diatas dapat diketahui jika error yang terjadi saat migration menjalankan file migration mahasiswa_tabel.
2. Selanjutnya bukalah file migration kalian masing-masing yang mengalami error . Karena pada kasus ini file migration saya yang mengalami error adalah file migration mahasiswa_tabel maka saya akan membuka file tersebut menggunakan text editor dan berikut adalah hasilnya.
Perhatikan scribt yang saya beri tanda dengan nomor 1 diatas , disitu ternyata tabel kita berrelasi dengan tabel prodi_tabel sedangkan file migration prodi tabel sendiri berada dibawah file migration mahasiswa_tabel yang ditunjukkan pada nomor 2. Maka scribt migration tersebut ketika dijalankan akan menemui error seperti diatas.
3. Untuk mengatasi error yang terjadi pada kasus saya diatas dapat dilakukan dengan merename timestamp yang berada didepan nama file migration prodi tabel dengan harapan agar file prodi tabel lokasinya berpindah menjadi diatas file migration mahasiswa tabel . Untuk merubahnya kalian dapat melakukanya dengan klik kanan pada file migration yang akan kalian rubah urutanya kemudian klik rename seperti pada gambar berikut ini :
4. Setelah dirubah maka seharusnya letak file migrationnya akan menjadi seperti berikut ini :
5. Setelah itu jalankan ulang migration dengan menggunakan perintah berikut ini :
php artisan migrate:refresh
6. Kok errornya malah berganti menjadi error base table or view already exists seperti berikut ini :
7. Tenang error tersebut terjadi karena tabel mahasiswa_tabel sudah ada pada database kita. Untuk mengatasi error base table or view already exists tersebut kalian dapat menghapus tabel mahasiswa_tabel kalian secara manual pada database kalian.
8. Selanjutnya jalankan ulang perintah php artisan migrate:refresh .
9. Jika berhasil maka akan akan menunjukkan pesan seperti pada gambar berikut pada CMD atau trminal kalian.
Jika masih gagal kalian dapat mengulangi langkah diatas dan sesuaikan dengan file migration yang mengalami error pada project kalian.
Sekkian artikel dari saya kali ini mengenai Cara mengatasi foreign key constraint is incorrectly formed , jika kalian mengalami kesulitan maupun kendala jangan sungkan-sungkan untuk berkomentar dibawah.
Incoming Search Terms :
- php artisan migrate error base table or view already exists
- php artisan migrate error laravel 8
- Laravel 8 foreign key constraint is incorrectly formed
- Foreign key constraint is incorrectly formed MySQL
- Cara mengatasi error foreign key relationship could NOT be added
- Errno 150 foreign key constraint is incorrectly formed maria db
One Comment
Trackbacks and Pingbacks
[…] perintah php artisan migrate:refresh terdapat error kalian dapat mengikuti tutorial berikut mengatasi foreign key constraint is incorrectly formed semoga dapat membantu memecahkan masalah […]