Jumat, 30 Juni 2017

Mengatasi Masalah Foreign Key Constraint Ketika Migrasi Database di Laravel 5.4

Beberapa masalah ketika melakukan migrasi database dengan perintah "php artisan migrate:refresh" atau "php artisan migrate:refresh --seed" ketika ingin memasukan beberapa sample baru yaitu sebagai berikut:
  1. Tidak dapat membuat table dengan error "errno: 150 "Foreign key constraint is incorrectly formed".
  2. Tidak bisa menghapus atau meng-update database dengan error "SQLSTATE[23000]: Integrity constraint violation: 1217 Cannot delete or update a parent row: a foreign key constraint fails"
Solusi untuk mengatasi hal ini yaitu sebagai berikut:
  1. Pastikan tipe data primary key dan foreign key sama.
  2. Pastikan "urutan nama file" create table dalam direktori migrations di-sorting ascending sesuai dengan kondisi table yg memiliki primary dan foreign key, karena proses migrasi pada laravel mengeksekusi berdasarkan "urutan nama file". Dahulukan file yg memiliki foreign key dengan menamai file paling awal, karena pada prinsipnya table yg didahulukan dihapus atau di-update adalah file yg memiliki foreign key.

Senin, 19 Juni 2017

Mengatasi Masalah No Hint Path Define for [datatables] di Laravel 5.4 dan Yajra 7.0


Setelah melakukan composer update melalui terminal dan melakukan beberapa perubahan dalam proyek menggunakan Laravel 5.4. Ternyata datatables yajra tidak muncul di view table. Tampilan error atau masalah yang muncul yaitu "no hint path define for [datatables]. Solusi untuk mengatasi ini yaitu dengan membersihkan cache dan mengoptimasi class loader melalui perintah berikut di terminal:

$ php artisan cache:clear
$ php artisan config:cache
$ php artisan optimize

budi@sunaryo:~/Documents/laravel/prj/eplanning$ php artisan cache:clear
Cache cleared successfully.budi@sunaryo:~/Documents/laravel/prj/eplanning$ php artisan config:cache
Configuration cache cleared!
Configuration cached successfully!
budi@sunaryo:~/Documents/laravel/prj/eplanning$ php artisan optimize
Generating optimized class loader
The compiled services file has been removed.
budi@sunaryo:~/Documents/laravel/prj/eplanning$