Menu Close

Replikasi Data Tabel dari Database Lain dengan CodeIgniter

Pernahkah kita dihadapakan terhadap permasalahan untuk mengambil sebagian atau keseluruhan tabel dari database di kantor pusat atau sebaliknya? Pada sebagian perusahaan-perusahaan yang besar yang mempunyai beberapa cabang yang tersebar di wilayah yang berbeda-beda akan lebih ringan jika pengelolaan database untuk sistem-sistemnya terdistribusi di masing-masing cabang. Namun ini akan membuat permasalahan dimana data di kantor cabang menjadi tidak sinkron dengan data di kantor pusat.

Nah bagaimana caranya agar kantor cabang bisa menyamakan datanya dengan kantor pusat?

Berikut ini akan kita pelajari salah satu metode untuk melakukan dumping data menggunakan CodeIgniter.

Sebelumnya kita pernah membuat Multiple Database di CodeIgniter pada artikel sebelumnya. Dengan cara yang sama kita buat koneksi untuk menghubungkan dua buah data database dari kantor pusat dan database di kantor cabang.

Berikut langkah-langkah yang harus kita jalankan:

  • Kita asumsikan bahwa sudah mempunyai struktur tabel yang sama antara di kantor pusat dan kantor cabang
  • Buat koneksi dengan multiple database seperti yang pernah dijelaskan pada artikel Multiple Database di CodeIgniter.
  • Buat model dengan nama Mdump.php dengan sintaks sebagai berikut:

Perintah query untuk insert_on_duplicate_update_batch dapat dipelajari pada artikel Insert On Duplicate Key Update Batch pada CodeIgniter.

  • Buat controller dengan nama Dump.php
See also  Parsing Data Json pada CodeIgniter 3 dari Sumber di Luar Aplikasi
  • Selanjutnya panggil controller dari CronJob yang akan kita sesuaikan waktu sinkronisasinya sesuai dengan kehendak kita. Cara pemanggilannya adalah sebagai berikut:

(full path to) adalah tempat aplikasi dumping tabel ini berada.

Bisa dipelajari juga cara-cara pemanggilan perintah melalui Cron.

Demikian teknik dumping data tabel dari database yang berbeda. Semoga bermanfaat.

Posted in CodeIgniter

YOU MIGHT BE INTERESTED IN

Leave a Reply

Your email address will not be published. Required fields are marked *