Dear friends,
I apologise for my curiousity, but I rarely choose the easiest way.
After OS Upgrade (Debian Sarge->Testing, i.e. php4->php5, mysql 4.x->5.0.22) I decided to upgrade the development version of a site from Drupal 4.6.5 -> 4.7.3. Backups were carefully done. I've done a clean installation of Drupal first, then added required modules and, finally, tried to fill the database tables, using saved as SQL old data.
During the installation I used the mysql 4.1 template for the Drupal DB. What bothers me is a noticeable difference in definition of `node` table:
What I have now from the template:
CREATE TABLE `node` (
`nid` int(10) unsigned NOT NULL auto_increment,
`vid` int(10) unsigned NOT NULL default '0',
`type` varchar(32) NOT NULL default '',
`title` varchar(128) NOT NULL default '',
`uid` int(10) NOT NULL default '0',
`status` int(4) NOT NULL default '1',
`created` int(11) NOT NULL default '0',
`changed` int(11) NOT NULL default '0',
`comment` int(2) NOT NULL default '0',
`promote` int(2) NOT NULL default '0',
`moderate` int(2) NOT NULL default '0',
`sticky` int(2) NOT NULL default '0',
PRIMARY KEY (`nid`,`vid`),
UNIQUE KEY `vid` (`vid`),
KEY `node_type` (`type`(4)),
KEY `node_title_type` (`title`,`type`(4)),
KEY `status` (`status`),
KEY `uid` (`uid`),
KEY `node_moderate` (`moderate`),
KEY `node_promote_status` (`promote`,`status`),
KEY `node_created` (`created`),
KEY `node_changed` (`changed`),
KEY `node_status_type` (`status`,`type`,`nid`),
KEY `nid` (`nid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
What I had before differs from the above definition:
- . No `vid` field.
- . There were `teaser`, `body`, `revisions`, `format`, and `language` fields.
It seems that the changes were done for optimisation which I want to exploit!
Could you give some descriptions of the new DB tables format to help me convert my old DB to the new formats?
My site is bilingual (en, ru).
Comments
PS:
Actually I can't simply keep the old DB:
etc...
I think you need to read
I think you need to read the docs on upgrading. In brief:
load your 4.6 tables into the database, then run update.php to migrate your data from the old schema to the new schema.
---
Work: BioRAFT
Thanks!
Dear pwolanin,
You're absolutely right! update.php is the thing I'm missing.
Thank you very much!
PS.
Let's think of the other side of a problem. It took 2 days to discover the right way. I haven't got the main idea from the docs on updates: “simple ways” are possible with DB already converted to 4.7 version!
Note, my English is not bad. Think of those, who have more problems with the language than me!
I believe that there should be some extra emphasize on the question whether the upgrade is to be done for 4.6 version or for 4.7 version in the very beginning of the upgrade docs.
If there is any — I'm totally wrong.
PPS. Many thanks to those who have done the film http://ftp.osuosl.org/pub/drupal/files/videocasts/4.7-upgrading.mov
Very nice, very explanatory, very useful!
WBR, Andrei.