本文整理汇总了PHP中PMA\libraries\Table::moveCopy方法的典型用法代码示例。如果您正苦于以下问题:PHP Table::moveCopy方法的具体用法?PHP Table::moveCopy怎么用?PHP Table::moveCopy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PMA\libraries\Table
的用法示例。
在下文中一共展示了Table::moveCopy方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testMoveCopy
/**
* Test for moveCopy
*
* @return void
*/
public function testMoveCopy()
{
$source_table = 'PMA_BookMark';
$source_db = 'PMA';
$target_table = 'PMA_BookMark_new';
$target_db = 'PMA_new';
$what = "dataonly";
$move = true;
$mode = "one_table";
$GLOBALS['dbi']->expects($this->any())->method('getTable')->will($this->returnValue(new Table($target_table, $target_db)));
$_REQUEST['drop_if_exists'] = true;
$return = Table::moveCopy($source_db, $source_table, $target_db, $target_table, $what, $move, $mode);
//successfully
$expect = true;
$this->assertEquals($expect, $return);
$sql_query = "INSERT INTO `PMA_new`.`PMA_BookMark_new` SELECT * FROM " . "`PMA`.`PMA_BookMark`";
$this->assertContains($sql_query, $GLOBALS['sql_query']);
$sql_query = "DROP VIEW `PMA`.`PMA_BookMark`";
$this->assertContains($sql_query, $GLOBALS['sql_query']);
$return = Table::moveCopy($source_db, $source_table, $target_db, $target_table, $what, false, $mode);
//successfully
$expect = true;
$this->assertEquals($expect, $return);
$sql_query = "INSERT INTO `PMA_new`.`PMA_BookMark_new` SELECT * FROM " . "`PMA`.`PMA_BookMark`;";
$this->assertContains($sql_query, $GLOBALS['sql_query']);
$sql_query = "DROP VIEW `PMA`.`PMA_BookMark`";
$this->assertNotContains($sql_query, $GLOBALS['sql_query']);
}
示例2: PMA_moveOrCopyTable
/**
* Move or copy a table
*
* @param string $db current database name
* @param string $table current table name
*
* @return void
*/
function PMA_moveOrCopyTable($db, $table)
{
/**
* Selects the database to work with
*/
$GLOBALS['dbi']->selectDb($db);
/**
* $_REQUEST['target_db'] could be empty in case we came from an input field
* (when there are many databases, no drop-down)
*/
if (empty($_REQUEST['target_db'])) {
$_REQUEST['target_db'] = $db;
}
/**
* A target table name has been sent to this script -> do the work
*/
if (PMA_isValid($_REQUEST['new_name'])) {
if ($db == $_REQUEST['target_db'] && $table == $_REQUEST['new_name']) {
if (isset($_REQUEST['submit_move'])) {
$message = Message::error(__('Can\'t move table to same one!'));
} else {
$message = Message::error(__('Can\'t copy table to same one!'));
}
} else {
Table::moveCopy($db, $table, $_REQUEST['target_db'], $_REQUEST['new_name'], $_REQUEST['what'], isset($_REQUEST['submit_move']), 'one_table');
if (isset($_REQUEST['adjust_privileges']) && !empty($_REQUEST['adjust_privileges'])) {
if (isset($_REQUEST['submit_move'])) {
PMA_AdjustPrivileges_renameOrMoveTable($db, $table, $_REQUEST['target_db'], $_REQUEST['new_name']);
} else {
PMA_AdjustPrivileges_copyTable($db, $table, $_REQUEST['target_db'], $_REQUEST['new_name']);
}
if (isset($_REQUEST['submit_move'])) {
$message = Message::success(__('Table %s has been moved to %s. Privileges have been ' . 'adjusted.'));
} else {
$message = Message::success(__('Table %s has been copied to %s. Privileges have been ' . 'adjusted.'));
}
} else {
if (isset($_REQUEST['submit_move'])) {
$message = Message::success(__('Table %s has been moved to %s.'));
} else {
$message = Message::success(__('Table %s has been copied to %s.'));
}
}
$old = PMA\libraries\Util::backquote($db) . '.' . PMA\libraries\Util::backquote($table);
$message->addParam($old);
$new = PMA\libraries\Util::backquote($_REQUEST['target_db']) . '.' . PMA\libraries\Util::backquote($_REQUEST['new_name']);
$message->addParam($new);
/* Check: Work on new table or on old table? */
if (isset($_REQUEST['submit_move']) || PMA_isValid($_REQUEST['switch_to_new'])) {
}
}
} else {
/**
* No new name for the table!
*/
$message = Message::error(__('The table name is empty!'));
}
if ($GLOBALS['is_ajax_request'] == true) {
$response = PMA\libraries\Response::getInstance();
$response->addJSON('message', $message);
if ($message->isSuccess()) {
$response->addJSON('db', $GLOBALS['db']);
} else {
$response->setRequestStatus(false);
}
exit;
}
}
示例3: PMA_buildOrExecuteQueryForMulti
//.........这里部分代码省略.........
case 'analyze_tbl':
$sql_query .= (empty($sql_query) ? 'ANALYZE TABLE ' : ', ') . PMA\libraries\Util::backquote($selected[$i]);
$execute_query_later = true;
break;
case 'checksum_tbl':
$sql_query .= (empty($sql_query) ? 'CHECKSUM TABLE ' : ', ') . PMA\libraries\Util::backquote($selected[$i]);
$execute_query_later = true;
break;
case 'repair_tbl':
$sql_query .= (empty($sql_query) ? 'REPAIR TABLE ' : ', ') . PMA\libraries\Util::backquote($selected[$i]);
$execute_query_later = true;
break;
case 'empty_tbl':
$deletes = true;
$a_query = 'TRUNCATE ';
$a_query .= PMA\libraries\Util::backquote($selected[$i]);
$run_parts = true;
break;
case 'drop_fld':
PMA_relationsCleanupColumn($db, $table, $selected[$i]);
$sql_query .= (empty($sql_query) ? 'ALTER TABLE ' . PMA\libraries\Util::backquote($table) : ',') . ' DROP ' . PMA\libraries\Util::backquote($selected[$i]) . ($i == $selected_cnt - 1 ? ';' : '');
break;
case 'primary_fld':
$sql_query .= (empty($sql_query) ? 'ALTER TABLE ' . PMA\libraries\Util::backquote($table) . (empty($primary) ? '' : ' DROP PRIMARY KEY,') . ' ADD PRIMARY KEY( ' : ', ') . PMA\libraries\Util::backquote($selected[$i]) . ($i == $selected_cnt - 1 ? ');' : '');
break;
case 'index_fld':
$sql_query .= (empty($sql_query) ? 'ALTER TABLE ' . PMA\libraries\Util::backquote($table) . ' ADD INDEX( ' : ', ') . PMA\libraries\Util::backquote($selected[$i]) . ($i == $selected_cnt - 1 ? ');' : '');
break;
case 'unique_fld':
$sql_query .= (empty($sql_query) ? 'ALTER TABLE ' . PMA\libraries\Util::backquote($table) . ' ADD UNIQUE( ' : ', ') . PMA\libraries\Util::backquote($selected[$i]) . ($i == $selected_cnt - 1 ? ');' : '');
break;
case 'spatial_fld':
$sql_query .= (empty($sql_query) ? 'ALTER TABLE ' . PMA\libraries\Util::backquote($table) . ' ADD SPATIAL( ' : ', ') . PMA\libraries\Util::backquote($selected[$i]) . ($i == $selected_cnt - 1 ? ');' : '');
break;
case 'fulltext_fld':
$sql_query .= (empty($sql_query) ? 'ALTER TABLE ' . PMA\libraries\Util::backquote($table) . ' ADD FULLTEXT( ' : ', ') . PMA\libraries\Util::backquote($selected[$i]) . ($i == $selected_cnt - 1 ? ');' : '');
break;
case 'add_prefix_tbl':
$newtablename = $_POST['add_prefix'] . $selected[$i];
// ADD PREFIX TO TABLE NAME
$a_query = 'ALTER TABLE ' . PMA\libraries\Util::backquote($selected[$i]) . ' RENAME ' . PMA\libraries\Util::backquote($newtablename);
$run_parts = true;
break;
case 'replace_prefix_tbl':
$current = $selected[$i];
$subFromPrefix = mb_substr($current, 0, mb_strlen($from_prefix));
if ($subFromPrefix == $from_prefix) {
$newtablename = $to_prefix . mb_substr($current, mb_strlen($from_prefix));
} else {
$newtablename = $current;
}
// CHANGE PREFIX PATTERN
$a_query = 'ALTER TABLE ' . PMA\libraries\Util::backquote($selected[$i]) . ' RENAME ' . PMA\libraries\Util::backquote($newtablename);
$run_parts = true;
break;
case 'copy_tbl_change_prefix':
$run_parts = true;
$copy_tbl = true;
$current = $selected[$i];
$newtablename = $to_prefix . mb_substr($current, mb_strlen($from_prefix));
// COPY TABLE AND CHANGE PREFIX PATTERN
Table::moveCopy($db, $current, $db, $newtablename, 'data', false, 'one_table');
break;
case 'copy_tbl':
$run_parts = true;
$copy_tbl = true;
Table::moveCopy($db, $selected[$i], $_POST['target_db'], $selected[$i], $_POST['what'], false, 'one_table');
if (isset($_POST['adjust_privileges']) && !empty($_POST['adjust_privileges'])) {
include_once 'operations.lib.php';
PMA_AdjustPrivileges_copyTable($db, $selected[$i], $_POST['target_db'], $selected[$i]);
}
break;
}
// end switch
// All "DROP TABLE", "DROP FIELD", "OPTIMIZE TABLE" and "REPAIR TABLE"
// statements will be run at once below
if ($run_parts && !$copy_tbl) {
$sql_query .= $a_query . ';' . "\n";
if ($query_type != 'drop_db') {
$GLOBALS['dbi']->selectDb($db);
}
$result = $GLOBALS['dbi']->query($a_query);
if ($query_type == 'drop_db') {
PMA_clearTransformations($selected[$i]);
} elseif ($query_type == 'drop_tbl') {
PMA_clearTransformations($db, $selected[$i]);
} else {
if ($query_type == 'drop_fld') {
PMA_clearTransformations($db, $table, $selected[$i]);
}
}
}
// end if
}
// end for
if ($deletes && !empty($_REQUEST['pos'])) {
$_REQUEST['pos'] = PMA_calculatePosForLastPage($db, $table, isset($_REQUEST['pos']) ? $_REQUEST['pos'] : null);
}
return array($result, $rebuild_database_list, $reload, $run_parts, $execute_query_later, $sql_query, $sql_query_views);
}