- improved the upgrade scripts/file a bit and tested them against a couple
of older (PEAR-less) Drupal databases4.0.x
parent
50b92b9154
commit
29364d5b55
|
@ -118,10 +118,6 @@ ALTER TABLE blog CHANGE body body_old TEXT DEFAULT '' NOT NULL;
|
|||
ALTER TABLE forum CHANGE body body_old TEXT DEFAULT '' NOT NULL;
|
||||
ALTER TABLE book CHANGE body body_old TEXT DEFAULT '' NOT NULL;
|
||||
|
||||
#
|
||||
# Run the last part of updates/3.00-to-x.xx.php
|
||||
#
|
||||
|
||||
# update the node table:
|
||||
ALTER TABLE node DROP lid;
|
||||
ALTER TABLE node ADD teaser TEXT DEFAULT '' NOT NULL;
|
||||
|
@ -134,14 +130,26 @@ ALTER TABLE node CHANGE moderate moderate int(2) DEFAULT '0' NOT NULL;
|
|||
ALTER TABLE node DROP timestamp_posted;
|
||||
ALTER TABLE node DROP timestamp_queued;
|
||||
ALTER TABLE node DROP timestamp_hidden;
|
||||
UPDATE node SET status = 0 WHERE status = 1;
|
||||
UPDATE node SET status = 0 WHERE status = 2;
|
||||
UPDATE node SET status = 1 WHERE status = 3;
|
||||
|
||||
#
|
||||
# Run the second part of updates/3.00-to-x.xx.php:
|
||||
# visit http://www.yoursite.com/3.00-to-x.xx.php?part=2
|
||||
#
|
||||
|
||||
ALTER TABLE book DROP section;
|
||||
ALTER TABLE users CHANGE session sid varchar(32) DEFAULT '' NOT NULL;
|
||||
|
||||
# 02/11/01:
|
||||
ALTER TABLE node ADD revisions TEXT DEFAULT '' NOT NULL;
|
||||
|
||||
#
|
||||
# Run the third part of updates/3.00-to-x.xx.php:
|
||||
# visit http://www.yoursite.com/3.00-to-x.xx.php?part=3
|
||||
#
|
||||
|
||||
## work in progress
|
||||
|
||||
# ALTER TABLE users ADD session TEXT DEFAULT '' NOT NULL;
|
||||
|
|
|
@ -9,51 +9,80 @@
|
|||
|
||||
include "includes/common.inc";
|
||||
|
||||
/*
|
||||
** If not in 'safe mode', increase the maximum execution time:
|
||||
*/
|
||||
|
||||
if (!get_cfg_var("safe_mode")) {
|
||||
set_time_limit(180);
|
||||
}
|
||||
|
||||
/*
|
||||
** Create sequence tables for pear-ification of MySQL
|
||||
*/
|
||||
|
||||
/*
|
||||
if ($part == 1) {
|
||||
|
||||
foreach (module_list() as $name) {
|
||||
if (module_hook($name, "status")) {
|
||||
print "$name ...";
|
||||
db_query("DROP TABLE IF EXISTS ". $name ."_seq");
|
||||
db_query("CREATE TABLE ". $name ."_seq (id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, PRIMARY KEY(id))");
|
||||
$result = db_query("SELECT MAX(". ($name == "node" ? "nid" : "lid") .") FROM $name", 1);
|
||||
$count = $result ? db_result($result, 0) : 0;
|
||||
db_query("INSERT INTO ". $name ."_seq (id) VALUES ('$count')");
|
||||
print "done ($count)<br />";
|
||||
foreach (module_list() as $name) {
|
||||
if (module_hook($name, "status")) {
|
||||
print "$name ...";
|
||||
db_query("DROP TABLE IF EXISTS ". $name ."_seq");
|
||||
db_query("CREATE TABLE ". $name ."_seq (id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL, PRIMARY KEY(id))");
|
||||
$result = db_query("SELECT MAX(". ($name == "node" ? "nid" : "lid") .") FROM $name", 1);
|
||||
$count = $result ? db_result($result, 0) : 0;
|
||||
db_query("INSERT INTO ". $name ."_seq (id) VALUES ('$count')");
|
||||
print "done ($count)<br />";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
** Give old nodes a teaser:
|
||||
** update your source tree and database first
|
||||
*/
|
||||
|
||||
$result = db_query("SELECT nid FROM node");
|
||||
if ($part == 2) {
|
||||
$result = db_query("SELECT nid FROM node");
|
||||
|
||||
while ($object = db_fetch_object($result)) {
|
||||
while ($object = db_fetch_object($result)) {
|
||||
|
||||
$node = node_load(array("nid" => $object->nid));
|
||||
$node = node_load(array("nid" => $object->nid));
|
||||
|
||||
$body = db_result(db_query("SELECT body_old FROM $node->type WHERE nid = $node->nid"), 0);
|
||||
|
||||
$body = db_result(db_query("SELECT body_old FROM $node->type WHERE nid = $node->nid"), 0);
|
||||
|
||||
switch ($node->type) {
|
||||
case "forum":
|
||||
case "story":
|
||||
case "book":
|
||||
case "page":
|
||||
case "blog":
|
||||
node_save($node, array("nid", "body" => $body, "teaser" => node_teaser($body)));
|
||||
print "updated node '$node->title' ($node->type)<br />";
|
||||
break;
|
||||
default:
|
||||
print "unknown node '$node->title' ($node->type)<br />";
|
||||
switch ($node->type) {
|
||||
case "forum":
|
||||
case "story":
|
||||
case "book":
|
||||
case "page":
|
||||
case "blog":
|
||||
node_save($node, array("nid", "body" => $body, "teaser" => node_teaser($body)));
|
||||
print "updated node $node->nid '$node->title' ($node->type)<br />";
|
||||
break;
|
||||
default:
|
||||
print "unknown node $node->nid '$node->title' ($node->type)<br />";
|
||||
}
|
||||
|
||||
unset($node);
|
||||
unset($body);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
** Remove old book pages:
|
||||
*/
|
||||
|
||||
if ($part == 3) {
|
||||
|
||||
// remove book pages that used to be 'expired':
|
||||
$result = db_query("SELECT n.nid, n.title FROM node n WHERE n.type = 'book' AND n.status = 0");
|
||||
while ($node = db_fetch_object($result)) {
|
||||
print "removing node $node->nid '$node->title' (dumped node)<br />";
|
||||
db_query("DELETE FROM node WHERE nid = '$node->nid'");
|
||||
db_query("DELETE FROM book WHERE nid = '$node->nid'");
|
||||
db_query("DELETE FROM comments WHERE lid = '$node->nid'");
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
Loading…
Reference in New Issue