Forums / Developer / Upgrading the database to 4.1.3
Radek Kuchta
Tuesday 04 August 2009 12:37:32 pm
Hi all,
I have made an upgrade my installation from 4.0.3 to 4.1.35th step of upgrading process is upgrading the database. The first file is dbupdate-4.0.0-to-4.1.0.sql with has a code:
-- START: from 4.0.2 ALTER TABLE ezorder_item CHANGE vat_value vat_value FLOAT NOT NULL default 0; CREATE TABLE ezurlalias_ml_incr ( id int(11) NOT NULL auto_increment, PRIMARY KEY (id) ); -- END: from 4.0.2
Comment "from 4.0.2" means that I should leave this part of code if my upgrade is later than v. 4.0.2 so I left this part.
Unfortunatly this table doesn't exist in my installation of eZ Publsih... so my question is why I should leave this part of code or tell me what I wrong understood :)
http://ez.no/certification/verify/272582
Gaetano Giunta
Tuesday 04 August 2009 12:59:14 pm
Your understanding is right - you should skip that part if you are upgrading from 4.0.2 or later - since 4.0.2 is the first release where the ezurlalias_ml_incr table was introduced.
As to why you miss, it is a wild guess. All I can think of is an installation coming from older versions that was not properly updated before.
I might also add that I find it very strange that your site works at all, as without that table you should have problems generating new url aliases...
Principal Consultant International Business Member of the Community Project Board
Tuesday 04 August 2009 1:24:07 pm
Thanks for the answer Gaetano,
You have right, this installation coming from older versions (3.9.x) and was upgrading more than half year ago. Since that time, that site works correctly (users generated a few hundred content object wich has correct url alias) - wow :)
I'll check my databes online... maybe I was missing something with backup process.
Piotrek Karaś
Wednesday 05 August 2009 12:43:01 am
Hello,
What is the purpose of that table anyways? I assume not to let the ml ids get recycled, but on what occasion is that used?
Thanks,Piotrek
-- Company: mediaSELF Sp. z o.o., http://www.mediaself.pl eZ references: http://ez.no/partners/worldwide_partners/mediaself eZ certified developer: http://ez.no/certification/verify/272585 eZ blog: http://ez.ryba.eu
Ole Marius Smestad
Wednesday 05 August 2009 2:53:10 am
The purpose of the ezurlalias_ml_incr table is to get the correct next numerical ID, without causing MySQL to do an implicit transaction commit.
Before we used to issue a lock statement on ezurlalias_ml table, in order to make sure that we didn't have several requests potentially getting the same ID. However, in MySQL this caused the transaction up to that point to be silently committed, this was not the desired behaviour, thus this new table was introduced to work around that situation.
-- Ole Marius Smestad Lead Engineer eZ Publish Member of the Community Project Board
Wednesday 05 August 2009 3:26:32 am
Thanks,Cheers