java php laravel linux mysql sql bootstrap html css query java php laravel linux mysql sql bootstrap html css query

java linux php mysql bootstrap sql sping boot linuxmint laravel



Kamis, 28 November 2019

accessors and mutators laravel

Accessor and Mutator Laravel


Berdasarkan doc laravel, accessors dan mutator

Accessors and mutators allow you to format Eloquent attribute values when you retrieve or set them on model instances. For example, you may want to use the Laravel encrypter to encrypt a value while it is stored in the database, and then automatically decrypt the attribute when you access it on an Eloquent model.

accessor dan mutator membolehkan kita untuk melakukan format terhadap atribut dari model ketika mengambil atau melakukan set pada instance model , Sebagai contoh, ketika menggunakan encrypter untuk meng-enkripsi sebuah nilai ketika nilai tersebut disimpan ke dalam database, kemudian secara otomatis akan di-dekripsi ketika mengakses nilai itu.

Contoh ketika data kolom dalam database adalah berupa tipe timestamp, kemudian ketika kita mau menampilkan/ mengambil data tersebut supaya format yang dikembalikan adalah berupa tanggal, caranya adalah dengan membuat accessor,


Accessor


Function ditandai dengan awalan get, contoh :

public function getTanggalAttribute($value)
    {
        return date('Y-m-d', strtotime($value));
    }


tipe data tanggal pada database adalah timestamp, sedangkan jika kita deklarasikan dengan accessor tersebut maka ketika kita mengambil data tanggal maka akan dikembalikan data berupa date.

Mutator


Function ditandai dengan set, contoh

ketika kita mau menyimpan data nama dengan tipe varchar, dan ada keharusan supaya data yang disimpan ke dalam database adalah harus dengan huruf besar (uppercase), maka dapat kita buatkan mutatornya , seperti ini :


public function setNamaAttribute($value) 

 $this->attributes['nama'] = strtoupper($value); 
}
Sedangkan jika ada aturan yang mewajibkan data nama ketika disimpan huruf pertama harus kapital , maka bisa menggunakan function ucfirst dari php, contoh mutatornya adalah sebagai berikut :

public function setNamaAttribute($value) 

 $this->attributes['nama'] = ucfirst($value); 
}
Semisal ada aturan lain harus disimpan dalam huruf kecil semua sebutlah untuk kolom email dan website maka kita gunakan function strtolower dari php, sehingga mutatornya adalah sebagai berikut :
public function setEmailAttribute($value) 

 $this->attributes['email'] = strtolower($value); 
}
untuk website :

public function setWebsiteAttribute($value) 

 $this->attributes['website'] = strtolower($value); 
}
Sekian gan semoga ada manfaatnya buat ana dan kita semue ye, sebagai catatan untuk pengingat sewaktu lupa.

Rabu, 27 November 2019

Make a Backup and Restore Bash Script (mariadb)

Make a Backup and Restore Bash Script


early story


Cerita, sebelum nya setiap kali akan melakukan backup dan ataupun restore database (mysql/maridb) mengtik perintah yang lumayan tidak panjang hehe, jadi langkah ini dilakukan setiap kali selesai proses pull project dan ataupun akan melakukan push project ke repository remote pada server git.

backup command line


Setiap selesai membuat list coding dan berencana akan melakukan push (mengirim source code ke server git) data ke server git (repostory remote) biasanya ana melakukan backup database, supaya ketika menjalankan aplikasi di tempat lain datanya (database) sama dengan sebelumnya, karena dikhawatirkan ada perbedaan struktur table atau database, ketika selesai pull project dari server git.

Perintah yang dijalankan untuk melakukan backup database adalah :

mysqldump -uroot -p nama_db --complete-insert > db_20191127.sql

perintah tersebut akan menghasilkan file backup dari database mysql/mariadb dengan nama file db_20191127.sql jenis filenya adalah sql, jika mau dicompress juga bisa tinggal menambahkan perintah compress, sehingga file yang dihasilkan menjadi lebih kecil.

restore command line


Perintah restore biasanya dilakukan setelah selesai melakukan pull dari server git (menarik source code dari server git), perintah ini dilakukan berulang-ulang sehingga membuat ana hafal perintahnya karena terlalu sering menjalankan perintah ini.

Untuk melakukan restore data jalankan perintah ini :

echo "DROP DATABASE IF EXISTS coba1; CREATE DATABASE coba1; " | mysql -uroot -p && mysql -uroot -p coba1 < db_20191127.sql

yang mana db_20191127.sql adalah file hasil dari perintah backup sebelumnya.

Make Backup Bash Script 


Buat file dengan nama backup.sh, kemudian ketik perintah ini :

#!/bin/bash
TODAY=`date +"%d%b%Y"`
mysqldump -uroot -p coba1 --complete-insert > db_${TODAY}.sql


kemudian tambahkan perintah execute terhadap file tersebut dengan perintah

chmod a+x backup.sh

Cara menjalankan file tersebut adalah

sh backup.sh

setelah perintah tersebut dijalankan maka akan menghasilkan file sql dengan format nama db_tanggal_today

Make Restore Bash Script 

Buat file dengan nama restore.sh, kemudian ketik perintah ini :

#!/bin/bash
echo "DROP DATABASE IF EXISTS coba1; create database coba1; " | mysql -uroot -p && mysql -uroot -p coba1 < $1


kemudian tambahkan perintah execute terhadap file tersebut dengan perintah :

chmod a+x restore.sh

Cara menjalankan file tersebut adalah

sh restore.sh db_20191127.sql

Jika perintah tersebut dijalankan maka akan melakukan restore database db_20191127.sql ke dalam database coba1, tettapi sebelumnya database coba1 yang sudah ada akan dihapus terlebih dahulu dan kemudian dibuatkan database coba1 yang baru.

Simpulan


Semoga sukses dan semoga bermanfaat gan.




Senin, 25 November 2019

update git remote server

Update Git Remote Server


Tulisan ini ditulis sebagai catatan untuk diingat dan dibaca sewaktu-waktu jika lupa :), hari ini dan sudah beberapa hari salah satu server remote git sering terjadi gangguan, entah kenapa ? sepertinya emang gangguan dari servernya, karena ketika dicek menggunakan koneksi internet yang lain juga tidak bisa dibuka web dan servicenya, sehingga dengan sebab tersebut rencananya hari ini akan dipindahkan ke remote server git yang lain.

Menampilkan List Remote


Untuk menampilkan list remote dari project kita, jalankan perintah di bawah ini, untuk cara lain sebenarnya bisa kita cek dengan membuka file config yang ada pada folder .git, sedangkan jika ingin menggunakan command line interface mode bisa menggunakan perintah ini :

git remote -v

Menghapus Remote 


Pertama untuk lebih aman kita gunakan cara ini ( aman menurut saya yang belum tau cara yang lebih aman :)  ) , kita lakukan hapus terlebih dahulu remote dari project kita menggunakan perintah ini :

git remote rm origin

Apakah remote rm sukses ?


Jalankan lagi perintah untuk menampilkan list dari remote, untuk memastikan perintah remove di atas sukses dijalankan, jika perintah menampilkan list remote ini sudah tidak menampilkan remote lagi, seperti sebelumnya, maka perintah untuk menghapus (rm) tersebut adalah sukses.

git remote -v

Menambahkan Remote


Buat dulu remote di server yang baru, dengan cara membuat repository baru, kemudian copy dan paste hasil dari repository tersebut yang biasanya berakhiran .git,

Setelah menghapus remote sukses, sekarang lakukan penambahan remote, dengan remote server yang baru, jalankan perintah remote add origin, lengkapnya seperti ini :

git remote add origin https://server-git.com/user/project.git

Apakah remote add  sukses ?

Kita cek lagi apakah perintah menambahkan remote server yang baru sudah sukses, perintahnya sama dengan sebelumnya yaitu :

git remote -v


Proses Commit Ke Server Remote Git yang Baru

Sebelum melakukan commit atau push ke server remote git yang baru, sebaiknya kita tambahkan dlu ssh key pada server remote git yang baru.

Buat SSH Key di Local


Buat ssh-key yang baru jika laptop / komputer yang digunakan belum pernah terkoneksi sebelumnya ke server remote yang baru.

ssh-keygen -t rsa -b 4096 -C "email@email-server.com"

ssh-add ~/.ssh/id_rsa

Copy SSH KEY PUB ke Paster Ke Server Remote Git yang Baru


Buka file ~/.ssh/id_rsa.pub dengan text editor, kemudian copy,

dan paste pada SSH Key yang ada pada menu setting SSH Key.

Proses Add - Commit  dan Push


Jalankan perintah git add untuk memindahkan file dari working directory ke stage area.

git add .

Kemudian jalankan perintah commit, untuk melakukan proses pengiriman file dari stage area ke reposiroty local.
git commit -m 'Pindah remote server'

Setelah commit, jalankan perintah git push, untuk mengirimkan file dari repository local menuju repository remote.

git push -u origin master

pada saat menjalankan perintah git push,, maka akan ditanyakan email username untuk konek ke server remote git yang baru, beserta passwordnya.

Silakan cek pada web server git remote terbaru, untuk melihat hasil push tersebut.
Alhamdulillah sukses memindahkan remote repository ke server git yang baru
Selesai, semoga bermanfaat bagi yang ikut membacanya ya.

saifiahmada.com adalah blog belajar programming Indonesia, membahas lengkap materi bahasa pemrograman: code HTML, CSS, Bootstrap, Desain, PHP, MySQL, coding Java, Query, SQL, dan dunia linux