我将编写脚本来使用 codeigniter 备份 mysql 数据库。然而,这里有一个棘手的问题。我应该将所有电子邮件转换为虚拟字母而不是真实的电子邮件信息。例如,Jon@gmail.com => aBdsEDd@test.com
因此,新开发人员可以使用所有数据,但不能使用真实的电子邮件,因为它们是真实的个人信息。但我不确定这是否可能。
在这里,我放弃了我的方法,但无法更改当前数据库。
$this->load->dbutil();
$this->load->helper('file');
$this->load->helper('download');
$dumpOption = array(
'tables' => array(), // Array of tables to backup.
'ignore' => array(), // List of tables to omit from the backup
'format' => 'txt', // gzip, zip, txt
'filename' => 'mybackup.sql', // File name - NEEDED ONLY WITH ZIP FILES
'add_drop' => TRUE, // Whether to add DROP TABLE statements to backup file
'add_insert' => TRUE, // Whether to add INSERT data to backup file
'newline' => "\n" // Newline character used in backup file
);
if(ENVIRONMENT !== 'production') {
if ($this->dbutil->database_exists('db'))
{
$backup = $this->dbutil->backup($dumpOption);
try {
echo 'loading database .....';
write_file('./mybackup.sql', $backup, 'w+');
echo 'finish preparing dev data.';
} catch(Exception $e) {
printf('Message: ' .$e->getMessage());
}
} else {
echo 'database does not exist.';
}
}
如果可能的话你能让我知道吗?最重要的是转储文件应该具有更新的内容,但我们不应该更改原始数据库,更改应该仅在转储上。
是否可以?非常感谢。
陪伴而非守候
梦里花落0921