当前位置: 首页>>代码示例>>PHP>>正文


PHP db_rename_table函数代码示例

本文整理汇总了PHP中db_rename_table函数的典型用法代码示例。如果您正苦于以下问题:PHP db_rename_table函数的具体用法?PHP db_rename_table怎么用?PHP db_rename_table使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了db_rename_table函数的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: die

    }
    //            $dict = NewDataDictionary($connect);
    //            $dropindexquery=$dict->DropIndexSQL(db_table_name_nq($oldtable).'_idx');
    //            $connect->Execute($dropindexquery[0]);
    $deactivatequery = "UPDATE {$dbprefix}surveys SET active='N' WHERE sid={$surveyid}";
    $deactivateresult = $connect->Execute($deactivatequery) or die("Couldn't deactivate because:<br />" . htmlspecialchars($connect->ErrorMsg()) . "<br /><br /><a href='{$scriptname}?sid={$postsid}'>Admin</a>");
    $deactivateoutput .= "<br />\n<div class='messagebox ui-corner-all'>\n";
    $deactivateoutput .= "<div class='header ui-widget-header'>" . $clang->gT("Deactivate Survey") . " ({$surveyid})</div>\n";
    $deactivateoutput .= "\t<div class='successheader'>" . $clang->gT("Survey Has Been Deactivated") . "\n";
    $deactivateoutput .= "</div>\n";
    $deactivateoutput .= "\t<p>\n";
    $deactivateoutput .= "\t" . $clang->gT("The responses table has been renamed to: ") . " {$newtable}.\n";
    $deactivateoutput .= "\t" . $clang->gT("The responses to this survey are no longer available using LimeSurvey.") . "\n";
    $deactivateoutput .= "\t<p>" . $clang->gT("You should note the name of this table in case you need to access this information later.") . "</p>\n";
    if (isset($toldtable) && $toldtable) {
        $deactivateoutput .= "\t" . $clang->gT("The tokens table associated with this survey has been renamed to: ") . " {$tnewtable}.\n";
    }
    $deactivateoutput .= "\t<p>" . $clang->gT("Note: If you deactivated this survey in error, it is possible to restore this data easily if you do not make any changes to the survey structure. See the LimeSurvey documentation for further details") . "</p>";
    $deactivateoutput .= "</div><br/>&nbsp;\n";
    $pquery = "SELECT savetimings FROM {$dbprefix}surveys WHERE sid={$postsid}";
    $presult = db_execute_assoc($pquery);
    $prow = $presult->FetchRow();
    //fetch savetimings value
    if ($prow['savetimings'] == "Y") {
        $oldtable = "{$dbprefix}survey_{$postsid}_timings";
        $newtable = "{$dbprefix}old_survey_{$postsid}_timings_{$date}";
        $deactivatequery = db_rename_table($oldtable, $newtable);
        $deactivateresult2 = $connect->Execute($deactivatequery) or die("Couldn't make backup of the survey timings table. Please try again. The database reported the following error:<br />" . htmlspecialchars($connect->ErrorMsg()) . "<br /><br />Survey was deactivated.<br /><br /><a href='{$scriptname}?sid={$postsid}'>" . $clang->gT("Main Admin Screen") . "</a>");
        $deactivateresult = $deactivateresult && $deactivateresult2;
    }
}
开发者ID:himanshu12k,项目名称:ce-www,代码行数:31,代码来源:deactivate.php

示例2: testSchema

 /**
  * Tests database interactions.
  */
 function testSchema()
 {
     // Try creating a table.
     $table_specification = array('description' => 'Schema table description may contain "quotes" and could be long—very long indeed.', 'fields' => array('id' => array('type' => 'int', 'default' => NULL), 'test_field' => array('type' => 'int', 'not null' => TRUE, 'description' => 'Schema table description may contain "quotes" and could be long—very long indeed. There could be "multiple quoted regions".'), 'test_field_string' => array('type' => 'varchar', 'length' => 20, 'not null' => TRUE, 'default' => "'\"funky default'\"", 'description' => 'Schema column description for string.'), 'test_field_string_ascii' => array('type' => 'varchar_ascii', 'length' => 255, 'description' => 'Schema column description for ASCII string.')));
     db_create_table('test_table', $table_specification);
     // Assert that the table exists.
     $this->assertTrue(db_table_exists('test_table'), 'The table exists.');
     // Assert that the table comment has been set.
     $this->checkSchemaComment($table_specification['description'], 'test_table');
     // Assert that the column comment has been set.
     $this->checkSchemaComment($table_specification['fields']['test_field']['description'], 'test_table', 'test_field');
     if (Database::getConnection()->databaseType() == 'mysql') {
         // Make sure that varchar fields have the correct collation.
         $columns = db_query('SHOW FULL COLUMNS FROM {test_table}');
         foreach ($columns as $column) {
             if ($column->Field == 'test_field_string') {
                 $string_check = $column->Collation == 'utf8mb4_general_ci';
             }
             if ($column->Field == 'test_field_string_ascii') {
                 $string_ascii_check = $column->Collation == 'ascii_general_ci';
             }
         }
         $this->assertTrue(!empty($string_check), 'string field has the right collation.');
         $this->assertTrue(!empty($string_ascii_check), 'ASCII string field has the right collation.');
     }
     // An insert without a value for the column 'test_table' should fail.
     $this->assertFalse($this->tryInsert(), 'Insert without a default failed.');
     // Add a default value to the column.
     db_field_set_default('test_table', 'test_field', 0);
     // The insert should now succeed.
     $this->assertTrue($this->tryInsert(), 'Insert with a default succeeded.');
     // Remove the default.
     db_field_set_no_default('test_table', 'test_field');
     // The insert should fail again.
     $this->assertFalse($this->tryInsert(), 'Insert without a default failed.');
     // Test for fake index and test for the boolean result of indexExists().
     $index_exists = Database::getConnection()->schema()->indexExists('test_table', 'test_field');
     $this->assertIdentical($index_exists, FALSE, 'Fake index does not exists');
     // Add index.
     db_add_index('test_table', 'test_field', array('test_field'), $table_specification);
     // Test for created index and test for the boolean result of indexExists().
     $index_exists = Database::getConnection()->schema()->indexExists('test_table', 'test_field');
     $this->assertIdentical($index_exists, TRUE, 'Index created.');
     // Rename the table.
     db_rename_table('test_table', 'test_table2');
     // Index should be renamed.
     $index_exists = Database::getConnection()->schema()->indexExists('test_table2', 'test_field');
     $this->assertTrue($index_exists, 'Index was renamed.');
     // We need the default so that we can insert after the rename.
     db_field_set_default('test_table2', 'test_field', 0);
     $this->assertFalse($this->tryInsert(), 'Insert into the old table failed.');
     $this->assertTrue($this->tryInsert('test_table2'), 'Insert into the new table succeeded.');
     // We should have successfully inserted exactly two rows.
     $count = db_query('SELECT COUNT(*) FROM {test_table2}')->fetchField();
     $this->assertEqual($count, 2, 'Two fields were successfully inserted.');
     // Try to drop the table.
     db_drop_table('test_table2');
     $this->assertFalse(db_table_exists('test_table2'), 'The dropped table does not exist.');
     // Recreate the table.
     db_create_table('test_table', $table_specification);
     db_field_set_default('test_table', 'test_field', 0);
     db_add_field('test_table', 'test_serial', array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'description' => 'Added column description.'));
     // Assert that the column comment has been set.
     $this->checkSchemaComment('Added column description.', 'test_table', 'test_serial');
     // Change the new field to a serial column.
     db_change_field('test_table', 'test_serial', 'test_serial', array('type' => 'serial', 'not null' => TRUE, 'description' => 'Changed column description.'), array('primary key' => array('test_serial')));
     // Assert that the column comment has been set.
     $this->checkSchemaComment('Changed column description.', 'test_table', 'test_serial');
     $this->assertTrue($this->tryInsert(), 'Insert with a serial succeeded.');
     $max1 = db_query('SELECT MAX(test_serial) FROM {test_table}')->fetchField();
     $this->assertTrue($this->tryInsert(), 'Insert with a serial succeeded.');
     $max2 = db_query('SELECT MAX(test_serial) FROM {test_table}')->fetchField();
     $this->assertTrue($max2 > $max1, 'The serial is monotone.');
     $count = db_query('SELECT COUNT(*) FROM {test_table}')->fetchField();
     $this->assertEqual($count, 2, 'There were two rows.');
     // Test renaming of keys and constraints.
     db_drop_table('test_table');
     $table_specification = array('fields' => array('id' => array('type' => 'serial', 'not null' => TRUE), 'test_field' => array('type' => 'int', 'default' => 0)), 'primary key' => array('id'), 'unique keys' => array('test_field' => array('test_field')));
     db_create_table('test_table', $table_specification);
     // Tests for indexes are Database specific.
     $db_type = Database::getConnection()->databaseType();
     // Test for existing primary and unique keys.
     switch ($db_type) {
         case 'pgsql':
             $primary_key_exists = Database::getConnection()->schema()->constraintExists('test_table', '__pkey');
             $unique_key_exists = Database::getConnection()->schema()->constraintExists('test_table', 'test_field' . '__key');
             break;
         case 'sqlite':
             // SQLite does not create a standalone index for primary keys.
             $primary_key_exists = TRUE;
             $unique_key_exists = Database::getConnection()->schema()->indexExists('test_table', 'test_field');
             break;
         default:
             $primary_key_exists = Database::getConnection()->schema()->indexExists('test_table', 'PRIMARY');
             $unique_key_exists = Database::getConnection()->schema()->indexExists('test_table', 'test_field');
             break;
     }
//.........这里部分代码省略.........
开发者ID:isramv,项目名称:camp-gdl,代码行数:101,代码来源:SchemaTest.php

示例3: elseif

        ."<input type='submit' value='"
        .$clang->gT("Delete Tokens")."' onclick=\"".get2post("$scriptname?action=tokens&amp;sid=$surveyid&amp;subaction=kill&amp;ok=surething")."\" />\n"
        ."<input type='submit' value='"
        .$clang->gT("Cancel")."' onclick=\"window.open('$scriptname?action=tokens&amp;sid=$surveyid', '_top')\" />\n";
    }
    elseif (isset($_POST['ok']) && $_POST['ok'] == "surething")
    {
        $oldtable = "tokens_$surveyid";
        $newtable = "old_tokens_{$surveyid}_$date";
        $deactivatequery = db_rename_table( db_table_name_nq($oldtable), db_table_name_nq($newtable));

        if ($databasetype=='postgres')
        {
            // If you deactivate a postgres table you have to rename the according sequence too and alter the id field to point to the changed sequence
            $oldTableJur = db_table_name_nq($oldtable);
            $deactivatequery = db_rename_table(db_table_name_nq($oldtable),db_table_name_nq($newtable).'_tid_seq');
            $deactivateresult = $connect->Execute($deactivatequery) or die ("oldtable : ".$oldtable. " / oldtableJur : ". $oldTableJur . " / ".htmlspecialchars($deactivatequery)." / Could not rename the old sequence for this token table. The database reported the following error:<br />".htmlspecialchars($connect->ErrorMsg())."<br /><br /><a href='$scriptname?sid={$_GET['sid']}'>".$clang->gT("Main Admin Screen")."</a>");
            $setsequence="ALTER TABLE ".db_table_name_nq($newtable)."_tid_seq ALTER COLUMN tid SET DEFAULT nextval('".db_table_name_nq($newtable)."_tid_seq'::regclass);";
            $deactivateresult = $connect->Execute($setsequence) or die (htmlspecialchars($setsequence)." Could not alter the field tid to point to the new sequence name for this token table. The database reported the following error:<br />".htmlspecialchars($connect->ErrorMsg())."<br /><br />Survey was not deactivated either.<br /><br /><a href='$scriptname?sid={$_GET['sid']}'>".$clang->gT("Main Admin Screen")."</a>");
            $setidx="ALTER INDEX ".db_table_name_nq($oldtable)."_idx RENAME TO ".db_table_name_nq($newtable)."_idx;";
            $deactivateresult = $connect->Execute($setidx) or die (htmlspecialchars($setidx)." Could not alter the index for this token table. The database reported the following error:<br />".htmlspecialchars($connect->ErrorMsg())."<br /><br />Survey was not deactivated either.<br /><br /><a href='$scriptname?sid={$_GET['sid']}'>".$clang->gT("Main Admin Screen")."</a>");
        } else {
            $deactivateresult = $connect->Execute($deactivatequery) or die ("Couldn't deactivate because:<br />\n".htmlspecialchars($connect->ErrorMsg())." - Query: ".htmlspecialchars($deactivatequery)." <br /><br />\n<a href='$scriptname?sid=$surveyid'>Admin</a>\n");
        }

        $tokenoutput .= '<br />'.$clang->gT("The tokens table has now been removed and tokens are no longer required to access this survey.")."<br /> ".$clang->gT("A backup of this table has been made and can be accessed by your system administrator.")."<br />\n"
        ."(\"{$dbprefix}old_tokens_{$surveyid}_$date\")"."<br /><br />\n"
        ."<input type='submit' value='"
        .$clang->gT("Main Admin Screen")."' onclick=\"window.open('$scriptname?sid={$surveyid}', '_top')\" />\n";
    }
    $tokenoutput .= "</div>\n";
开发者ID:nmklong,项目名称:limesurvey-cdio3,代码行数:31,代码来源:tokens.php

示例4: hook_field_storage_delete_field

/**
 * Act on deletion of a field.
 *
 * This hook is invoked from field_delete_field() to ask the field storage
 * module to mark all information stored in the field for deletion.
 *
 * @param $field
 *   The field being deleted.
 */
function hook_field_storage_delete_field($field)
{
    // Mark all data associated with the field for deletion.
    $field['deleted'] = 0;
    $table = _field_sql_storage_tablename($field);
    $revision_table = _field_sql_storage_revision_tablename($field);
    db_update($table)->fields(array('deleted' => 1))->execute();
    // Move the table to a unique name while the table contents are being deleted.
    $field['deleted'] = 1;
    $new_table = _field_sql_storage_tablename($field);
    $revision_new_table = _field_sql_storage_revision_tablename($field);
    db_rename_table($table, $new_table);
    db_rename_table($revision_table, $revision_new_table);
    drupal_get_schema(NULL, TRUE);
}
开发者ID:rlugojr,项目名称:livereload-examples,代码行数:24,代码来源:field.api.php

示例5: db_execute_num

 $aResult = db_execute_num($sQuery) or safe_die("Couldn't get list of token tables from database<br />{$query}<br />" . $connect->ErrorMsg());
 while ($aRow = $aResult->FetchRow()) {
     $tablename = substr($aRow[0], strlen($dbprefix));
     $iSurveyID = substr($tablename, strpos($tablename, '_') + 1);
     $qquery = "SELECT sid FROM {$dbprefix}surveys WHERE sid='{$iSurveyID}'";
     $qresult = $connect->Execute($qquery) or safe_die("Couldn't check survey table for sid<br />{$qquery}<br />" . $connect->ErrorMsg());
     $qcount = $qresult->RecordCount();
     if ($qcount == 0) {
         $date = date('YmdHis') . rand(1, 1000);
         $sOldTable = "tokens_{$iSurveyID}";
         $sNewTable = "old_tokens_{$iSurveyID}_{$date}";
         $deactivatequery = db_rename_table(db_table_name_nq($sOldTable), db_table_name_nq($sNewTable));
         if ($databasetype == 'postgres') {
             // If you deactivate a postgres table you have to rename the according sequence too and alter the id field to point to the changed sequence
             $sOldTableJur = db_table_name_nq($sOldTable);
             $deactivatequery = db_rename_table(db_table_name_nq($sOldTable), db_table_name_nq($sNewTable) . '_tid_seq');
             $deactivateresult = $connect->Execute($deactivatequery) or die("oldtable : " . $sOldTable . " / oldtableJur : " . $sOldTableJur . " / " . htmlspecialchars($deactivatequery) . " / Could not rename the old sequence for this token table. The database reported the following error:<br />" . htmlspecialchars($connect->ErrorMsg()) . "<br /><br /><a href='{$scriptname}?sid={$_GET['sid']}'>" . $clang->gT("Main Admin Screen") . "</a>");
             $setsequence = "ALTER TABLE " . db_table_name_nq($sNewTable) . "_tid_seq ALTER COLUMN tid SET DEFAULT nextval('" . db_table_name_nq($sNewTable) . "_tid_seq'::regclass);";
             $deactivateresult = $connect->Execute($setsequence) or die(htmlspecialchars($setsequence) . " Could not alter the field tid to point to the new sequence name for this token table. The database reported the following error:<br />" . htmlspecialchars($connect->ErrorMsg()) . "<br /><br />Survey was not deactivated either.<br /><br /><a href='{$scriptname}?sid={$_GET['sid']}'>" . $clang->gT("Main Admin Screen") . "</a>");
             $setidx = "ALTER INDEX " . db_table_name_nq($sOldTable) . "_idx RENAME TO " . db_table_name_nq($sNewTable) . "_idx;";
             $deactivateresult = $connect->Execute($setidx) or die(htmlspecialchars($setidx) . " Could not alter the index for this token table. The database reported the following error:<br />" . htmlspecialchars($connect->ErrorMsg()) . "<br /><br />Survey was not deactivated either.<br /><br /><a href='{$scriptname}?sid={$_GET['sid']}'>" . $clang->gT("Main Admin Screen") . "</a>");
         } else {
             $deactivateresult = $connect->Execute($deactivatequery) or die("Couldn't deactivate because:<br />\n" . htmlspecialchars($connect->ErrorMsg()) . " - Query: " . htmlspecialchars($deactivatequery) . " <br /><br />\n<a href='{$scriptname}?sid={$surveyid}'>Admin</a>\n");
         }
     }
 }
 /**********************************************************************/
 /*     CHECK CONDITIONS                                               */
 /**********************************************************************/
 $query = "SELECT * FROM {$dbprefix}conditions ORDER BY cid";
 $result = db_execute_assoc($query) or safe_die("Couldn't get list of conditions from database<br />{$query}<br />" . $connect->ErrorMsg());
开发者ID:portokallidis,项目名称:Metamorphosis-Meducator,代码行数:31,代码来源:integritycheck.php

示例6: testSchema

 /**
  * Tests database interactions.
  */
 function testSchema()
 {
     // Try creating a table.
     $table_specification = array('description' => 'Schema table description may contain "quotes" and could be long—very long indeed.', 'fields' => array('id' => array('type' => 'int', 'default' => NULL), 'test_field' => array('type' => 'int', 'not null' => TRUE, 'description' => 'Schema table description may contain "quotes" and could be long—very long indeed. There could be "multiple quoted regions".'), 'test_field_string' => array('type' => 'varchar', 'length' => 20, 'not null' => TRUE, 'default' => "'\"funky default'\"", 'description' => 'Schema column description for string.')));
     db_create_table('test_table', $table_specification);
     // Assert that the table exists.
     $this->assertTrue(db_table_exists('test_table'), 'The table exists.');
     // Assert that the table comment has been set.
     $this->checkSchemaComment($table_specification['description'], 'test_table');
     // Assert that the column comment has been set.
     $this->checkSchemaComment($table_specification['fields']['test_field']['description'], 'test_table', 'test_field');
     // An insert without a value for the column 'test_table' should fail.
     $this->assertFalse($this->tryInsert(), 'Insert without a default failed.');
     // Add a default value to the column.
     db_field_set_default('test_table', 'test_field', 0);
     // The insert should now succeed.
     $this->assertTrue($this->tryInsert(), 'Insert with a default succeeded.');
     // Remove the default.
     db_field_set_no_default('test_table', 'test_field');
     // The insert should fail again.
     $this->assertFalse($this->tryInsert(), 'Insert without a default failed.');
     // Test for fake index and test for the boolean result of indexExists().
     $index_exists = Database::getConnection()->schema()->indexExists('test_table', 'test_field');
     $this->assertIdentical($index_exists, FALSE, 'Fake index does not exists');
     // Add index.
     db_add_index('test_table', 'test_field', array('test_field'));
     // Test for created index and test for the boolean result of indexExists().
     $index_exists = Database::getConnection()->schema()->indexExists('test_table', 'test_field');
     $this->assertIdentical($index_exists, TRUE, 'Index created.');
     // Rename the table.
     db_rename_table('test_table', 'test_table2');
     // Index should be renamed.
     $index_exists = Database::getConnection()->schema()->indexExists('test_table2', 'test_field');
     $this->assertTrue($index_exists, 'Index was renamed.');
     // Copy the schema of the table.
     db_copy_table_schema('test_table2', 'test_table3');
     // Index should be copied.
     $index_exists = Database::getConnection()->schema()->indexExists('test_table3', 'test_field');
     $this->assertTrue($index_exists, 'Index was copied.');
     // Data should still exist on the old table but not on the new one.
     $count = db_select('test_table2')->countQuery()->execute()->fetchField();
     $this->assertEqual($count, 1, 'The old table still has its content.');
     $count = db_select('test_table3')->countQuery()->execute()->fetchField();
     $this->assertEqual($count, 0, 'The new table has no content.');
     // Ensure that the proper exceptions are thrown for db_copy_table_schema().
     $fail = FALSE;
     try {
         db_copy_table_schema('test_table4', 'test_table5');
     } catch (SchemaObjectDoesNotExistException $e) {
         $fail = TRUE;
     }
     $this->assertTrue($fail, 'Ensure that db_copy_table_schema() throws an exception when the source table does not exist.');
     $fail = FALSE;
     try {
         db_copy_table_schema('test_table2', 'test_table3');
     } catch (SchemaObjectExistsException $e) {
         $fail = TRUE;
     }
     $this->assertTrue($fail, 'Ensure that db_copy_table_schema() throws an exception when the destination table already exists.');
     // We need the default so that we can insert after the rename.
     db_field_set_default('test_table2', 'test_field', 0);
     $this->assertFalse($this->tryInsert(), 'Insert into the old table failed.');
     $this->assertTrue($this->tryInsert('test_table2'), 'Insert into the new table succeeded.');
     // We should have successfully inserted exactly two rows.
     $count = db_query('SELECT COUNT(*) FROM {test_table2}')->fetchField();
     $this->assertEqual($count, 2, 'Two fields were successfully inserted.');
     // Try to drop the table.
     db_drop_table('test_table2');
     $this->assertFalse(db_table_exists('test_table2'), 'The dropped table does not exist.');
     // Recreate the table.
     db_create_table('test_table', $table_specification);
     db_field_set_default('test_table', 'test_field', 0);
     db_add_field('test_table', 'test_serial', array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'description' => 'Added column description.'));
     // Assert that the column comment has been set.
     $this->checkSchemaComment('Added column description.', 'test_table', 'test_serial');
     // Change the new field to a serial column.
     db_change_field('test_table', 'test_serial', 'test_serial', array('type' => 'serial', 'not null' => TRUE, 'description' => 'Changed column description.'), array('primary key' => array('test_serial')));
     // Assert that the column comment has been set.
     $this->checkSchemaComment('Changed column description.', 'test_table', 'test_serial');
     $this->assertTrue($this->tryInsert(), 'Insert with a serial succeeded.');
     $max1 = db_query('SELECT MAX(test_serial) FROM {test_table}')->fetchField();
     $this->assertTrue($this->tryInsert(), 'Insert with a serial succeeded.');
     $max2 = db_query('SELECT MAX(test_serial) FROM {test_table}')->fetchField();
     $this->assertTrue($max2 > $max1, 'The serial is monotone.');
     $count = db_query('SELECT COUNT(*) FROM {test_table}')->fetchField();
     $this->assertEqual($count, 2, 'There were two rows.');
     // Use database specific data type and ensure that table is created.
     $table_specification = array('description' => 'Schema table description.', 'fields' => array('timestamp' => array('mysql_type' => 'timestamp', 'pgsql_type' => 'timestamp', 'sqlite_type' => 'datetime', 'not null' => FALSE, 'default' => NULL)));
     try {
         db_create_table('test_timestamp', $table_specification);
     } catch (\Exception $e) {
     }
     $this->assertTrue(db_table_exists('test_timestamp'), 'Table with database specific datatype was created.');
 }
开发者ID:davidsoloman,项目名称:drupalconsole.com,代码行数:97,代码来源:SchemaTest.php


注:本文中的db_rename_table函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。