本文整理汇总了PHP中DatabaseCompatibilityUtil::backupDatabase方法的典型用法代码示例。如果您正苦于以下问题:PHP DatabaseCompatibilityUtil::backupDatabase方法的具体用法?PHP DatabaseCompatibilityUtil::backupDatabase怎么用?PHP DatabaseCompatibilityUtil::backupDatabase使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DatabaseCompatibilityUtil
的用法示例。
在下文中一共展示了DatabaseCompatibilityUtil::backupDatabase方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testDatabaseBackupAndRestore
public function testDatabaseBackupAndRestore()
{
// Create new database (zurmo_wacky).
if (RedBeanDatabase::getDatabaseType() == 'mysql') {
$this->assertTrue(DatabaseCompatibilityUtil::createDatabase('mysql', $this->hostname, $this->rootUsername, $this->rootPassword, $this->databasePort, $this->temporaryDatabaseName));
$connection = @mysql_connect($this->hostname . ':' . $this->databasePort, $this->rootUsername, $this->rootPassword);
$this->assertTrue(is_resource($connection));
@mysql_select_db($this->temporaryDatabaseName);
@mysql_query("create table temptable (temptable_id int(11) unsigned not null)", $connection);
@mysql_query("insert into temptable values ('5')", $connection);
@mysql_query("insert into temptable values ('10')", $connection);
$result = @mysql_query("SELECT count(*) from temptable");
$totalRows = mysql_fetch_row($result);
@mysql_close($connection);
$this->assertEquals(2, $totalRows[0]);
$this->assertTrue(DatabaseCompatibilityUtil::backupDatabase('mysql', $this->hostname, $this->rootUsername, $this->rootPassword, $this->temporaryDatabaseName, $this->databaseBackupTestFile));
//Drop database, and restore it from backup.
$this->assertTrue(DatabaseCompatibilityUtil::createDatabase('mysql', $this->hostname, $this->rootUsername, $this->rootPassword, $this->databasePort, $this->temporaryDatabaseName));
$this->assertTrue(DatabaseCompatibilityUtil::restoreDatabase('mysql', $this->hostname, $this->rootUsername, $this->rootPassword, $this->temporaryDatabaseName, $this->databaseBackupTestFile));
$connection = @mysql_connect($this->hostname . ':' . $this->databasePort, $this->rootUsername, $this->rootPassword);
$this->assertTrue(is_resource($connection));
@mysql_select_db($this->temporaryDatabaseName);
$result = @mysql_query("SELECT count(*) from temptable");
$totalRows = mysql_fetch_row($result);
$result = @mysql_query("SELECT * from temptable");
$rows1 = mysql_fetch_row($result);
$rows2 = mysql_fetch_row($result);
@mysql_close($connection);
$this->assertEquals(2, $totalRows[0]);
$this->assertEquals(5, $rows1[0]);
$this->assertEquals(10, $rows2[0]);
}
}
示例2: backupDatabase
/**
* Backup database
* @param string $filePath
* @param MessageStreamer $messageStreamer
* @param $databaseType
* @param $databaseHost
* @param $databaseName
* @param $databasePort
* @param $databaseUsername
* @param $databasePassword
*/
protected function backupDatabase($filePath, $messageStreamer, $databaseType, $databaseHost, $databaseName, $databasePort, $databaseUsername, $databasePassword)
{
// If file already exist, ask user to confirm that want to overwrite it.
if (file_exists($filePath)) {
$message = Zurmo::t('Commands', 'Backup file already exists. Are you sure you want to overwrite the existing file?.');
if (!$this->confirm($message)) {
$messageStreamer->add(Zurmo::t('Commands', 'Backup not completed.'));
$messageStreamer->add(Zurmo::t('Commands', 'Please delete existing file or enter new one, and start backup process again.'));
Yii::app()->end();
}
}
$messageStreamer->add(Zurmo::t('Commands', 'Starting database backup process.'));
$result = DatabaseCompatibilityUtil::backupDatabase($databaseType, $databaseHost, $databaseUsername, $databasePassword, $databasePort, $databaseName, $filePath);
if ($result) {
$messageStreamer->add(Zurmo::t('Commands', 'Database backup completed.'));
} else {
$messageStreamer->add(Zurmo::t('Commands', 'There was an error during backup.'));
// It is possible that empty file is created, so delete it.
if (file_exists($filePath)) {
$messageStreamer->add(Zurmo::t('Commands', 'Deleting backup file.'));
unlink($filePath);
}
$messageStreamer->add(Zurmo::t('Commands', 'Please backup database manually.'));
}
}