I know many programs have problems upgrading between versions, since they completely reformat the database layout.

My question is: is it safe to upgrade from version 4.6 to 4.7? Or will it mess up my site? I have about 1900 nodes made so far, and I don't want to have to manually recreate them.

Comments

David Stosik’s picture

You can test the upgrade with a test site... By the way, it is strongly recommended to upgrade a test site, and if the upgrade went well, put the test site in production...
In my opinion, I think there should be no problem for the nodes during the migration, but don't forget to test before !

Rory--’s picture

Okay, will do!

EDIT: Well, I'm using Fantastico to add Drupal and update it, and it doesn't let me make a test site. Would it mess Fantastico up if I upgrade manually?

Shai’s picture

Using Fantastico you can Have as many installs of Drupal as you, limit one per directory. But you can have an unlimited number of directories per site.

But it will probably be months before Fantastico will install 4.7. They only do "stable" releases.

Shai

Rory--’s picture

4.7 isn't stable yet?

StevenPatz’s picture

And at present there are still two critical bugs. My guess is early summer for a stable release.

zzzmarcus’s picture

I upgraded my site and wrote an article on the process here: http://cmsfactor.com/drupal4_7

Seemed to work perfectly smoothly for me.

Rory--’s picture

Okay, thanks. I'll be sure to check it out.

I'll be upgrading this afternoon, so I guess I'll see for myself how well it works!

Oh, and what about module support? My Drupal page is heavily modded right now, and I know that all the mods I use now are also available on 4.7, but will I have to reinstall them?

Rory--’s picture

When I go to upgrade.php, I get this:


Warning: Unknown column 'referer' in 'field list' query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', 'Unknown column 'weight' in 'order clause'\nquery: SELECT name, filename, throttle, bootstrap FROM system WHERE type = 'module' AND status = 1 ORDER BY weight ASC, filename ASC in /home/oadmin/public_html/includes/database.mysql.inc on line 120.', 2, '', '/', '', '69.141.107.202', 1144289221) in /home/oadmin/public_html/includes/database.mysql.inc on line 120

Warning: Unknown column 'referer' in 'field list' query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', 'Cannot modify header information - headers already sent by (output started at /home/oadmin/public_html/includes/database.mysql.inc:120) in /home/oadmin/public_html/includes/common.inc on line 139.', 2, '', '/', '', '69.141.107.202', 1144289221) in /home/oadmin/public_html/includes/database.mysql.inc on line 120

Warning: Unknown column 'referer' in 'field list' query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', 'Unknown column 'referer' in 'field list'\nquery: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (1, 'page not found', '<em>node</em> not found.', 1, '', '/', '', '69.141.107.202', 1144289221) in /home/oadmin/public_html/includes/database.mysql.inc on line 120.', 2, '', '/', '', '69.141.107.202', 1144289221) in /home/oadmin/public_html/includes/database.mysql.inc on line 120

Fatal error: Call to undefined function: theme_onload_attribute() in /home/oadmin/public_html/themes/goofy/goofy.theme on line 80

Warning: Unknown column 'referer' in 'field list' query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', 'Unknown column 'cache' in 'field list'\nquery: UPDATE sessions SET uid = 1, cache = 0, hostname = '69.141.107.202', session = 'og_last|N;messages|a:1:{s:5:\\"error\\";a:3:{i:0;s:287:\\"user warning: Unknown column 'weight' in 'order clause'\\nquery: SELECT name, filename, throttle, bootstrap FROM system WHERE type = 'module' AND status = 1 ORDER BY weight ASC, filename ASC in /home/oadmin/public_html/includes/database.mysql.inc on line 120.\\";i:1;s:205:\\"warning: Cannot modify header information - headers already sent by (output started at /home/oadmin/public_html/includes/database.mysql.inc:120) in /home/oadmin/public_html/incl in /home/oadmin/public_html/includes/database.mysql.inc on line 120

Warning: Unknown column 'referer' in 'field list' query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', 'Unknown column 'access' in 'field list'\nquery: UPDATE users SET access = 1144289221 WHERE uid = 1 in /home/oadmin/public_html/includes/database.mysql.inc on line 120.', 2, '', '/', '', '69.141.107.202', 1144289221) in /home/oadmin/public_html/includes/database.mysql.inc on line 120

I need help. What's happening?

David Stosik’s picture

Didn't you try to update with all your modules?
The readme says: log in as user 1, deactivate all contributed modules, remove all files from your drupal folder, put the updated files (only drupal core), change your settings.php, run the upgrade.php script with your navigator. Then you should try to install new version of contributed modules, one by one...

Rory--’s picture

"Deactivate modules!"

I knew I was missing SOMETHING...

EDIT: But no, even with the modules off I get this:

Warning: Unknown column 'referer' in 'field list' query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', 'Unknown column 'weight' in 'order clause'\nquery: SELECT name, filename, throttle, bootstrap FROM system WHERE type = 'module' AND status = 1 ORDER BY weight ASC, filename ASC in /home/oadmin/public_html/includes/database.mysql.inc on line 120.', 2, '', '/upgrade.php', '', '207.99.91.2', 1144322922) in /home/oadmin/public_html/includes/database.mysql.inc on line 120

Warning: Unknown column 'referer' in 'field list' query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', 'Cannot modify header information - headers already sent by (output started at /home/oadmin/public_html/includes/database.mysql.inc:120) in /home/oadmin/public_html/includes/common.inc on line 139.', 2, '', '/upgrade.php', '', '207.99.91.2', 1144322922) in /home/oadmin/public_html/includes/database.mysql.inc on line 120

Warning: Unknown column 'referer' in 'field list' query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', 'Unknown column 'referer' in 'field list'\nquery: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (1, 'page not found', '<em>upgrade.php</em> not found.', 1, '', '/upgrade.php', '', '207.99.91.2', 1144322922) in /home/oadmin/public_html/includes/database.mysql.inc on line 120.', 2, '', '/upgrade.php', '', '207.99.91.2', 1144322922) in /home/oadmin/public_html/includes/database.mysql.inc on line 120

Fatal error: Call to undefined function: theme_onload_attribute() in /home/oadmin/public_html/themes/engines/xtemplate/xtemplate.engine on line 122

Warning: Unknown column 'referer' in 'field list' query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', 'Unknown column 'cache' in 'field list'\nquery: UPDATE sessions SET uid = 1, cache = 0, hostname = '207.99.91.2', session = 'og_last|N;messages|a:1:{s:5:\\"error\\";a:3:{i:0;s:287:\\"user warning: Unknown column 'weight' in 'order clause'\\nquery: SELECT name, filename, throttle, bootstrap FROM system WHERE type = 'module' AND status = 1 ORDER BY weight ASC, filename ASC in /home/oadmin/public_html/includes/database.mysql.inc on line 120.\\";i:1;s:205:\\"warning: Cannot modify header information - headers already sent by (output started at /home/oadmin/public_html/includes/database.mysql.inc:120) in /home/oadmin/public_html/include in /home/oadmin/public_html/includes/database.mysql.inc on line 120

Warning: Unknown column 'referer' in 'field list' query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', 'Unknown column 'access' in 'field list'\nquery: UPDATE users SET access = 1144322922 WHERE uid = 1 in /home/oadmin/public_html/includes/database.mysql.inc on line 120.', 2, '', '/upgrade.php', '', '207.99.91.2', 1144322922) in /home/oadmin/public_html/includes/database.mysql.inc on line 120 
David Stosik’s picture

You have to delete all files, and copy only Drupal core files, then run update.php, then, reinstall the modules, one by one...
I can't see how you can get errors concerning modules if you followed the instructions...

Rory--’s picture

That's going to be a pain. Will the database be emptied during the upgrade, or will it still be there when I reinstall the modules?

tsaorin’s picture

Reading different post in Drupal.org, looking for detailed information about update from 4.6.x to 4.7, I think that perpahps it would be fine if someone write a post which explains this process.

Updating drupal core seems to be easy: backup of files and database, deactivate and delete modules contributed and ... if all has gone well you have drupal 4.7. working.

Now you have to append any contributed module you need.

Some questions I have:
- I suppose all the content in sql tables of my old modules will remain (Flexinode, event, frontpage, views...)
- Will the automatic install function delete my old data when create the new tables? I've read one .install file and only see "create table" statements.

Indeed the trouble is between make work the contributed modules and preserve the data.

Rory--’s picture

Well, it's working okay for now, but I have a few problems:

First, I have an annoying message on my front page:


    * warning: array_keys(): The first argument should be an array in /home/oadmin/public_html/modules/user.module on line 348.
    * warning: implode(): Bad arguments. in /home/oadmin/public_html/modules/user.module on line 348.
    * user warning: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 query: SELECT DISTINCT(p.perm) FROM role r INNER JOIN permission p ON p.rid = r.rid WHERE r.rid IN () in /home/oadmin/public_html/includes/database.mysql.inc on line 120.
    * warning: array_keys(): The first argument should be an array in /home/oadmin/public_html/modules/user.module on line 348.
    * warning: implode(): Bad arguments. in /home/oadmin/public_html/modules/user.module on line 348.
    * user warning: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 query: SELECT DISTINCT(p.perm) FROM role r INNER JOIN permission p ON p.rid = r.rid WHERE r.rid IN () in /home/oadmin/public_html/includes/database.mysql.inc on line 120.

And it's ugly.

Second, I'm using some outdated mods, BUT some (like Flexinode) don't have a 4.7 upgrade. It seems to be working, but will there be adverse effects on my site?

Third, some users are having log-in problems. Anybody else run across this problem?

spudart’s picture

ronoxQ, how does your location module work with the 4.7 upgrade? I don't see the location module on the list of 4.7 modules. I'm nervous to take my site that uses location module and upgrade it to 4.7.

Rory--’s picture

I don't use the location module. Sorry I couldn't be of much help.

However, Flexinode was the one I was worried about (extensive customization) and it upgraded like a charm.