Hai semuanya, di materi study kasus kali ini kita akan membahas tentang menggunakan Database pada project Laravel. Diantaranya Show
Ok langsung aja kita ke pembahasan yang pertama Setup and Configure connection to DatabaseAlmost every modern web application interacts with a database. Laravel makes interacting with databases extremely simple across a variety of supported databases using raw SQL, a fluent query builder, and the Eloquent ORM. Currently, Laravel provides first-party support for four databases:
Sebagai study kasus kali ini kita akan menggunakan database MySQL 5.7 yang akan saya jalankan menggunakan docker seperti berikut: For Bash script: For Powershell script: The configuration for Laravel’s database services is located in your application’s 0 configuration file. Most of the configuration options within this file are driven by the values of your application’s environment variablesKita edit file 1 menjadi seperti berikut:
Setelah itu kita bisa check connectionnya menggunakan perintah
Jika dijalankan maka hasilnya seperti berikut:
Dengan konfigurasi seperti berikut, kita sudah bisa connect antara PHP Laravel dengan Database MySQL v5.7 Database: MigrationMigrations are like version control for your database, allowing your team to define and share the application’s database schema definition. The new migration will be placed in your 2 directory. Each migration filename contains a timestamp that allows Laravel to determine the order of the migrations:
Seperti berikut Selanjutnya kita akan mengisi table 3 menggunakan Seeder, untuk membuat seeder kita bisa menggunakan perintah seperti berikut:
Seperti berikut: Dan kita edit file 4 seperti berikut:Selanjutnya kita jalankan perintah berikut:
Kemudian coba check data di table 3, sekarang memiliki data seperti berikut contohnya:Ok sekarang kita sudah success membuat database migration Basic CRUD using fluent query builderSetelah kita setup connection dan membuat migration table, sekarang kita buat simple CRUD yang di expose lewat Rest API. Sekarang kita buat controller baru menggunakan perintah seperti berikut:
Seperti berikut: Kemudian tambahkan config route seperti berikut pada file 6:Untuk melakukan testing kita buat file 7 seperti berikut:Setelah semuanya berjalan dengan baik, sekarang kita bisa buat UInya dengan membuat file pada folder 8 misalnya dengan nama 9 seperti berikut:Tambahkan juga dependency pada client yaitu 0 dengan perintah seperti berikut:
Dan yang terakhir tambahakan route untuk viewnya pada file 1 seperti berikut:Jika dijalankan dengan perintah seperti berikut:
Kemudian akses dari browser dengan alamat localhost:8000/db maka hasilnya seperti berikut: Deploy Manualy ke ServerSetelah kita mendevelop feature CRUD ke Database MySQL di local kita, sekarang kita akan deploy ke Server. Jadi workflownya
Untuk installasi MySQL Database kita bisa install manual atau menggunakan Docker, jadi supaya simple kita buat di docker aja dengan menggunakan perintah yang tadi yaitu seperti berikut: Setelah itu install PHP Extension untuk module 9 dan 5 seperti berikut perintahnya:
Kemudian kita upload source-code terbaru dengan menggunakan perintah: 0Setelah itu kita install kita lakukan migrate mengunakan perintah 1Sekarang kita bisa coba akses, hasilnya seperti berikut: Build & Running Docker ImageOk setelah kita deploy cara manual sekarang kita build Docker imagenya, pertama kita akan update dulu file 1 seperti berikut:Jadi karena saya mau semua proses dilakukan automatis mulai deploy, migrate database. Kita akan modifikasi entrypoint dan command dalam 1, Kita download dulu file apache2-foreground dari source-code docker-library php github repository. Kemudian edit dan simpan dalam folder 3 menjadi seperti berikut:Setelah itu kita build dengan perintah seperti berikut: 2Jika dijalankan maka hasilnya seperti berikut: 3Sekarang kita coba jalankan containernya dengan perintah seperti berikut: 4Jika dijalankan maka hasilnya seperti berikut: 5Sekarang coba akses dari browser, maka hasilnya seperti berikut: CleanupSeperti biasa setelah kita mencoba schenario studi kasus tersebut. sekarang kita bersih-bersih dulu ya berikut perintahnya: |