I am updating my 4.7 page to 6.3, but there are some problems. Update to 5.8 went without any problems, the page works very well. But when I try to update to 6.3, I get this error and the updater won't run:

Warning: Unknown column 'language' in 'where clause' query: SELECT src FROM url_alias WHERE dst = 'node' AND language IN('en', '') ORDER BY language DESC in /home/*myaccount*/public_html/includes/database.mysql.inc on line 128

If anyone could help me to solve it, I would be very grateful. I am sure I followed the update inscructions correctly (turned modules off, etc..) - I already tried it many times just to be sure, but it still doesn't work.

I am aware this problem has been mentioned several times already. I searched the Forums, but didnt find the definite answer though. Someone provided a link to Language Subsistem which might solve the problem, but I didn't install it yet because (a) I am still unsure if it relates to my problem, and (b) the Subsystem is from 2007, while the newest version of Drupal is from 2008... I was afraid using the old files would result in more problems.

Also I found this topic, where the poster says he solved the exact same problem I have. I however don't understand HOW - he said he did it by "going in to database and deleting the one page association for a group page that was created as a result of using an alternate url mod". Well I opened up the MyAdmin and found the url_alias table, allright, but I don't know what to delete. Perpaps someone more experienced in databases could provide me more advice?

My question is simple - do you please know how to solve the problem? I spent the whole day searching for an answer but the problem still remains. I'm not very skilled in PHP and SQL, though, so I might have misunderstood something somewhere. If someone could provide some advice or point me to one, that would be great. If not, well... I guess I'll have to stay at 5.8.

Thanks in advance,

Jiri

Comments

markus_cz’s picture

Ok, I managed to fix the problem. Here's how, for all who could encounter it in the future:

The problem was simple: there was a missing column "language" in the "url_alias" table. I went to the database, added it manually, set its properties and the update then continued.

There's no point listing the properties I used - I don't even understand it. I simply installed a clean install of Drupal 6.3 to other databate, then looked up the "url_alias" table there, displayed the properties of the "language" column and created exactly the same column in my main databate. Oh and don't forget to add the index too (also copy it from the clean install).

It worked for me. Hope this advice can help some others in the future.

Bye,

Jiri

quicksketch’s picture

I believe this is a Drupal core bug. If you have any custom URL aliases defined, Drupal will not upgrade properly. See http://drupal.org/node/194588.
Nathan Haug
creative graphic design        w: quicksketch.org
& software development       e: nate@quicksketch.org

aegnor’s picture

ALTER TABLE `url_alias`
ADD `language` varchar(12) NOT NULL;