Script Backup Restore Database menggunakan Framework CI

08 April 20131komentar


Latar Belakang
Sebagai utilitas dari aplikasi yang anda bangun jika membutuhkan fasilitas untuk backup atau restore sebuah database  yang sedang digunakan. saya asumsikan temen-teman sudah falimiar dengan framework CI. buat sebuah controller misalnya utilitas.php simpan di folder application/controllers
Script Backup
Jika didalam database anda terdapat tabel view, maka itu harus di hapus terlebih dahulu. silahkan buat metode pada sebuah model yg berfungsi untuk menghapus table view.
function backup(){
$this->Edit_model->hapus_view();
$this->load->helper(‘download’);
$tanggal=date(‘Ymd-His’);
$namaFile=$tanggal . ‘.sql.zip’;
$this->load->dbutil();
$backup=& $this->dbutil->backup();
force_download($namaFile, $backup);
}
sehingga jika nanti berhasil membackup database, maka akan keluar kotak dialog untuk menyimpan file backup database.
Script Restore
  • Sebelum melakukan restore anda harus extrak dahulu file zip yang tadi di download sehingga menjadi file misalnya 20110919-165636.sql
  • Diasumsikan file tersebut di simpat di root system
  • Sebagai alternatif, anda bisa membuat aplikasi upload file database yang akan di restore ke dalam folder yang sudah ditentukan misalnya folder backupdb
  • Setelah file berada di folder tersebut, maka script akan membaca file tersebut dan melakukan proses restore

function restore(){
//hapus dulu database jika proses restore gagal.
$this->Edit_model->hapus_db();
//upload dulu filenya
$fupload = $_FILES['datafile'];
 $nama = $_FILES['datafile']['name'];
if(isset($fupload)){
$lokasi_file = $fupload['tmp_name'];
$direktori=”backupdb/$nama“;
move_uploaded_file($lokasi_file,”$direktori”);
}
//restore database
$isi_file=file_get_contents($direktori);
$string_query=rtrim($isi_file, “\n;” );
$array_query=explode(“;”, $string_query);
foreach($array_query as $query){
$this->db->query($query);
}
$data['page']=’restore’;
$this->load->view(‘home’,$data);
}
Sekian artikel dari saya sekedar catatan kecil untuk saya, dan semoga bermanfaat untuk teman-teman dan anda semua…aamiin

Sumber : http://ri32.wordpress.com/
Share this article :

+ komentar + 1 komentar

Anonim
27 Mei 2015 pukul 13.51

saya enemukan kasus query hasil dump seperti ini:

insert into data(id,value) values(1,'sejumlah 1;2;3')

Dalam data tipe string/varchar database ada mengandung ; sehinggal tidak bisa memakai explode dengan delimiter ;
apa ada pemecahan masalah ini..?

Posting Komentar


 

Copyright © 2011. MargoNulis.blogspot.com - All Rights Reserved

Powered by Blogger