Monday 22 February 2010 - http://projects.ez.no/ezupgrade
eZUpgrade is stand-alone application (not an eZ Publish extension) automatingthe process of upgrading an eZ Publish installation.
Tuesday 12 October 2010 8:35:43 am
After using ezupgrade on a site from 4.0.1 to 4.4.0 I noticed images lost their alignment in XML content. I then manually applied update/common/scripts/4.1/correctxmlalign.php, cleared the cache and instantly the images correct alignment was restored.
I checked the upgrade documentation for 4.1 and it is there, http://doc.ez.no/eZ-Publish/Upgra...-to-4.1/4.0.x-to-4.1.y#eztoc102745_7
So I assume this therefore means that ezupgrade failed to run correctxmlalign.php. This makes me wonder what other scripts it may be failing to run but are not getting noticed?
Tuesday 12 October 2010 9:05:43 am
Hi Brendan,
Thanks for you feedback.
I can`t remember to have seen this problem before, so I need to investigate in the code to see what this could be.
Regarding other scripts; we have runned the eZ Upgrade on a lot of customer sites now and we have no feedback on problems after the final upgrade. The oldest site we have upgraded with eZ Upgrade is an 3.5.0 installation.
Wednesday 27 October 2010 7:35:48 am
I'm getting a parse error as follows when I try to run eZUpgrade:
<code>
root@ak-lan-intranet-mig-01:/data/www/ezpublish/ezupgrade# /usr/local/apache2.2.8/php/bin/php ezupgrade user1
PHP Parse error: syntax error, unexpected ')', expecting '(' in /data/www/ezpublish/ezupgrade/classes/ezupgrade.php on line 716
</code>
PHP is as follows:
<code>
root@ak-lan-intranet-mig-01:/data/www/ezpublish/ezupgrade# /usr/local/apache2.2.8/php/bin/php --version
PHP 4.4.7 (cli) (built: Feb 27 2009 14:58:57)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
with eAccelerator v0.9.5, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
</code>
Any ideas what I'm doing wrong? The code is exactly as I checked it out. No modifications other than those in the install instructions.
Cheers,
Cliff
Thursday 28 October 2010 6:05:53 am
I think with ez changing their download structures may of messed things up somewhat. I'm trying to upgrade from 3.10.1 to 4.0.1 but the script isn't download 4.0.1. Further more the script isn't able to jump from 3.10.1 to 4.0.7.
Any advice please?
Saturday 30 October 2010 4:06:12 pm
Hello Eirik,
first of all, thanks ezupgrade (and the nice show in Berlin).
I want to try ezupgrade to do a local upgrade from ez 4.1 to 4.3 or 4.4. "local" means, that the upgraded installation will be in the same server as the "old" one.
I checked out ezupgrade and ezcopy via "svn export" and managed to copy/move ezcopy to the lib folder.
Then i downloaded ezcompontens from the website and un-tar-ed it.
But, to be honest, i have trouble to get everything running.
Whenever i run ezupgrade (php ezupgrade), I get
<code>
Warning: require_once(ezc/Base/base.php): failed to open stream: No such file or directory in /root/tools/ezupgrade/lib/ezcopy/classes/ezcomponents.php on line 3
Fatal error: require_once(): Failed opening required 'ezc/Base/base.php' (include_path='.:/usr/share/php:/usr/share/pear:lib/ezcopy/lib/phpseclib0.1.5') in /root/tools/ezupgrade/lib/ezcopy/classes/ezcomponents.php on line 3
R
<code>
What wonders me: No matter, if i download ezc from the website or if i copy it over from ez 4.4, there is no "base.php" withing the "Base" folder. It's in "Base/src"...
I moved the "ezc" folder around, but ezcomponents.php does not find the required base.php file.
So...
- do i really need ezcopy (or ezcomponents) for ezupgrade, when i do not need a "remote" server access?
- if i need it, what the catch with installing ezcomponents?
Thanks in advance for you help!
Monday 01 November 2010 11:05:56 pm
Hi Anders,
I don't think that downloading by 'pear' will make any difference to the layout of the components, will it?
I also have the problem that Marco has, but I downloaded eZP 4.2.0 with the included ezcomponents-2009.2. In my case the same problem is seen. In the ezc/Base directory there is no base.php, and as in Marco's case there is a base.php in the src subdirectory of ezc/Base:
<code>
[cliffp@ak-lan-intranet-prod-01 trunk]$ find /sysmanage/data/www/ezpublish-4.2.0 -name 'base.php'
/sysmanage/data/www/ezpublish-4.2.0/lib/ezc/Base/src/base.php
/sysmanage/data/www/ezpublish-4.2.0/lib/ezc/Graph/src/data_container/base.php
/sysmanage/data/www/ezpublish-4.2.0/lib/ezc/Graph/src/datasets/base.php
/sysmanage/data/www/ezpublish-4.2.0/lib/ezc/Document/src/document/xml/xhtml/filter/element/base.php
/sysmanage/data/www/ezpublish-4.2.0/lib/ezc/Document/src/document/xml/xhtml/filter/base.php
</code>
The path includes /sysmanage/data/www/ezpublish-4.2.0/kernel/classes, but not the above. If I make a symbolic link to the ezc directory, it still won't find the base.php in ..../ezc/Base.
Please advise. I don't have easy access on my servers to the Internet, so I can't use 'pear'.
Cheers,
Cliff
Tuesday 02 November 2010 12:05:54 am
OK guys, here's what worked for me.
Firstly edit the ezcomponents file (/root/tools/ezupgrade/lib/ezcopy/classes/ezcomponents.php in your case, Marco) so that the require_once reads:
<code>
require_once "ezc/Base/src/base.php";
</code>
Then ensure that "ezc/Base/src/base.php" is in your PHP path. I did it via a symbolic link, but editting php.ini should work as well.
Cheers,
Cliff
Monday 08 November 2010 2:36:12 am
Do you have any update on this? I downloaded the latest SVN copy late last week and I can't update from 3.10.1 to 4.0.7.
If I try I get
<code>
Can not upgrade from 3.10.1 to 4.0.7. Version 4.0.7 holds upgrade files only down to version 4.0.0
CRITICAL ERROR - ENDING SCRIPT
</code>
If I try to upgrade from 3.10.1 to 4.0.1 as suggested by the documentation, the script can't find the tarball.
Cheers,
Cliff
Thursday 11 November 2010 8:06:20 am
While upgrading from 3.10.1 -> 4.01 and then 4.0.1 -> 4.4.0 I several sql errors:
<code>Running upgrades for v. 4.0.2
Upgrade function updateDBForVersion run
Applying sql/4.0/4.0.2.sql to database laas_dev_440 ERROR 1050 (42S01) at line 3: Table 'ezurlalias_ml_incr' already exists
OK
Running upgrades for v. 4.1.0
Upgrade function updateOERewriteRules run
Upgrade function updateImageSystem run
Upgrade function updateDBForVersion run
Applying sql/4.1/4.1.0.sql to database laas_dev_440 ERROR 1050 (42S01) at line 18: Table 'ezcobj_state' already exists
OK
Running upgrades for v. 4.3.0
Upgrade function upgrade430Notice run
Upgrade function updateDBForVersion run
Applying sql/4.3/4.3.0.sql to database laas_dev_440 ERROR 1050 (42S01) at line 11: Table 'ezscheduled_script' already exists
OK
</code>
They don't clearly get flagged as having failed. I'm not sure of the failure reason though.
Friday 14 January 2011 1:05:53 am
In upgrading from 3.6.x to 4.3.0 is it necessary to perform the upgrade in stages as indicated:
FROM TO
3.5.0 3.8.7
3.8.7 3.9.1
3.9.1 3.10.1
3.10.1 4.0.1
4.0.1 4.3.0
If both php 4.4.6 and 5.2.1 are installed.
When account.ini is set to upgrade from 3.6.x to 4.3.0, ezupgrade returns error that files are only available up to 4.0.x in the 4.3.0 distro.
Many thanks for making this project available.
Daniel
Friday 14 January 2011 9:05:52 am
Thank you for your reply. I went ahead and ran the script based on it's tolerance.
Although I have not test the upgraded db, I was able to run 3.6.x to 3.8.x then to 3.10.1 from there i'll be going to 4.3.0.
I am thinking by way of facilitating the process, one can setup different account for each step.
Many thanks,
Daniel
Monday 17 January 2011 6:05:53 am
ezupgrade stalls after error below. Any suggestion would be appreciated:
Upgrade function upgradeScripts41 run
Running script update/common/scripts/4.1/addlockstategroup.php -ssite_adminDo you want to continue? (y/n) [y]
Fatal error: eZ Publish did not finish its request
The execution of eZ Publish was abruptly ended, the debug output is present below.
Fatal error: A database transaction in eZ Publish failed.
The current execution was stopped to prevent further problems.
You should contact the System Administrator (adminemail@local-domain.dom) of this site.
The current transaction ID is TRANSID-2c4aecaa80c0d5caace9f97ad79b7ab8 and has been logged.
Please include the transaction ID and the name of the current script when contacting the system administrator.
Friday 25 February 2011 10:35:54 am
Hi,
I've been trying to upgrade from 4.0.7 to 4.4.0.
The upgrade script doesn't apply any upgrade scripts from the 4.1 version.
When I try to access my site I get this error:
[ Feb 25 2011 10:08:49 ] [193.212.132.34] eZMySQLDB:
Query error: Table 'ez_440.ezcobj_state_link' doesn't exist. Query: SELECT l.contentobject_state_id, s.identifier AS state_identifier, g.identifier AS state_group_identifier
FROM ezcobj_state_link l, ezcobj_state s, ezcobj_state_group g
WHERE l.contentobject_id=7461 AND
s.id=l.contentobject_state_id AND
g.id=s.group_id
I also try to upgrade to ez publish 4.1.4 but get this error:
INITIATING UPGRADE
The existing installation is located locally at /home/grundew/ez_4.0.7/
Dumping database
ez_grundew: OK (157,2 MB)
PHP Fatal error: Uncaught exception 'ezcConfigurationUnknownSettingException' with message 'The setting 'Upgrade_4.1.4', 'UpgradeContainerSinceVersion' does not exist.' in /usr/share/php/ezc/Configuration/configuration.php:221
Stack trace:
#0 /usr/share/php/ezc/Configuration/configuration.php(239): ezcConfiguration->assertGroupSetting('Upgrade_4.1.4', 'UpgradeContaine...')
#1 /usr/share/php/ezc/Configuration/configuration_manager.php(302): ezcConfiguration->getSetting('Upgrade_4.1.4', 'UpgradeContaine...')
#2 /usr/share/php/ezc/Configuration/configuration_manager.php(326): ezcConfigurationManager->fetchSetting('getSetting', 'ezupgrade', 'Upgrade_4.1.4', 'UpgradeContaine...')
#3 /home/grundew/src/ezupgrade/classes/ezupgrade.php(875): ezcConfigurationManager->getSetting('ezupgrade', 'Upgrade_4.1.4', 'UpgradeContaine...')
#4 /home/grundew/src/ezupgrade/classes/ezupgrade.php(42): eZUpgrade->fetchUpgradeToVersion()
#5 /home/grundew/src/ezupgrade/ezupgrade(30): eZUpgrade->run()
#6 {main}
thrown in /usr/share/php/ezc/Configuration/configuration.php on line 221
Friday 25 February 2011 11:05:53 am
Output from ezupgrade:
Running upgrades for v. 4.1.0
Upgrade function updateOERewriteRules run
Upgrade function updateImageSystem run
Upgrade function updateDBForVersion run
Applying sql/4.1/4.1.0.sql to database ez_grundew_440 OK
Upgrade function generateAutoLoads run
Running script bin/php/ezpgenerateautoloads.php --extension -sa3OK
Upgrade function upgradeScripts41 run
Running script update/common/scripts/4.1/addlockstategroup.php -sa3Fatal error: A database transaction in eZ Publish failed.
The current execution was stopped to prevent further problems.
Monday 09 May 2011 2:36:13 pm
I have an installation of ezpubish 4.1.3 which I have copied from my online server. On the local macintosh I also have ezupgrade with ezcopy. The online server dident have EZ Components built in, so I copied ezc from a another EZ installation , a new 4.5 with EZC included.
The installation runs fine local on Mac using MAMP. So do A cleam install of EZ 4.5
So I would like to try EZ Upgrade but get this two errors.
<code>
MacErland:ezupgrade eflaten$ php ezupgrade eflaten
PHP Warning: require_once(ezc/Base/base.php): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/ezupgrade/lib/ezcopy/classes/ezcomponents.php on line 3
PHP Fatal error: require_once(): Failed opening required 'ezc/Base/base.php' (include_path='.:/usr/local/share/pear:/Users/eflaten/pear/share/pear:lib/ezcopy/lib/phpseclib0.1.5') in /Applications/MAMP/htdocs/ezupgrade/lib/ezcopy/classes/ezcomponents.php on line 3
</code>
What should I do to get installer to work?
Saturday 25 June 2011 9:06:04 am
I just noticed a problem with the database part of your ez upgrade which is that it didn't add the column "name_trunk" to the table ezdbfile. Because this column isn't part of ezdbfile the script mysql.php cannot cache image files out to the database which then causes our eZPublish site to hang forever.
Do you happen to know why your tool doesn't add the column "name_trunk" to the table "ezdbfile"?
However, your tool is certainly a huge improvement over doing the upgrade by hand, and so many thanks for creating it.
Monday 27 June 2011 2:36:17 pm
Hi Kirk,
Would you be so kind as to post this as an issue on eZ Upgrades new home at https://github.com/ezsystems/ezupgrade ?
Thanks !
Tuesday 23 April 2013 8:36:37 am
You should get it from GitHub (https://github.com/ezsystems/ezupgrade). eZ Upgrade currently supports upgrading all the way up to 5.0.
Thursday 25 April 2013 7:36:43 am
Thursday 02 September 2010 2:05:47 pm
Hi Guys,
I have downloaded and installed ez upgrade and ez copy.
I have ez publsih website installed on windows server as I want to upgrade it from 4.0.1 to 4.3
When tried to run ez upgrade, nothing happened. So not sure whether it works on windows server?
Can you please advise on how to get it working on windows.
Kind Regards
Anaya
Thursday 02 September 2010 2:35:43 pm
Hi Anaya,
Thanks for trying out eZ Upgrade.
As mentioned in the documentation, eZ upgrade requires a *NIX environment to run, and has, so far, only been tested on Linux. We probably won't be testing it on Windows any time soon. Sorry about that.
Monday 06 September 2010 2:35:37 pm
Hi
I'm currently upgrading an eZ Publish installation from 3.8.8 => 4.2.0, and I follow the steps described in INSTALL.txt (first 3.8.8=>3.9.1, then 3.9.1=>3.10.1, ...).
Unfortunately, there seems to be an issue as eZ Upgrades performs upgrade from 3.8.8 to 3.8.9, with SQL queries for 3.9.2 ! The situation is different if you try to upgrade to 3.9.4...
But the problem is that SQL queries fro 3.9.0 (lots of queries) are never executed !
My guess is that there is a problem in the versions order in <b>ezupgrade.ini</b>, or something similar.
Any idea ?
Thanks ![]()
Tuesday 07 September 2010 10:35:44 am
I think I found a simple workaround by tweaking <b>ezupgrade.ini</b>. As eZ Upgrade takes versions from this config file, in the reverse order, you just need to add your intermediate steps/versions (for now, versions are presented in the release date order, where 2 maintenance versions may cohabit).
So in my case :
<code>
# 29.10.2009
Versions[]=4.2.0
# 29.09.2009
Versions[]=4.1.4
# 29.09.2009 - maintance
#Versions[]=4.0.7
# 08.06.2009
Versions[]=4.1.3
# 08.06.2009 - maintance
#Versions[]=4.0.6
# 26.05.2009
Versions[]=4.1.2
# 26.05.2009 - maintance
#Versions[]=4.0.5
# 05.05.2009
Versions[]=4.1.1
# 05.05.2009 - maintance
#Versions[]=4.0.4
# 19.03.2009
Versions[]=4.1.0
# 11.02.2009
Versions[]=4.0.3
# 03.02.2009
Versions[]=4.0.2
# 20.08.2008
Versions[]=4.0.1
# 20.08.2008
#Versions[]=3.10.1
#Versions[]=3.9.5
# 03.12.2007
Versions[]=4.0.0
# 04.10.2007
Versions[]=3.10.1
Versions[]=3.10.0
#Versions[]=3.8.10
# 04.10.2007
Versions[]=3.9.4
# 22.08.2007
Versions[]=3.9.3
#Versions[]=3.8.9
# 04.05.2007
Versions[]=3.9.2
Versions[]=3.9.1
Versions[]=3.9.0
Versions[]=3.8.9
Versions[]=3.8.8
</code>
Note the versions I commented out in order not to have duplicate steps ![]()
Monday 13 September 2010 5:35:42 pm
Hi,
I'm trying to run ezupgrade, but it doesn't work. On my php error log I found the following:
Call to a member function actionDownloadAll() on a non-object in /bigtmp/ezupgrade/classes/ezupgrade.php on line 96
Line 96 = $this->ezcopy->actionDownloadAll($this->upgradeData['account_name']);
I changed the original $this->data['account_name'] because data was not defined.
Can someone help me? I'm not really fit in PHP ![]()
Thanks!
Viviana
Tuesday 14 September 2010 10:35:38 am
Hi Anders,
I did change the line:
$this->ezcopy->actionDownloadAll($this->upgradeData['account_name']);
to $this->actionDownloadAll($this->upgradeData['account_name']);
and it runs, but only to the download step from remote to local: the transfer doesn't work.
Here my ini files
account.ini
[Accounts]
AccountList[]=intranet
IsLocal=false
DefaultPromptOption=prompt
[Account_intranet]
ExistingInstallationLocation=remote
ToVersion=4.3.0
BasePath=/srv/www/
SiteaccessList[]=intranet
ezcopy.ini
[General]
document_root=/srv/www/
# If you want the SiteAccessSettings > MatchOrder setting to be set to something specific
# after the site has been installed. Examples include "uri" or "host;uri".
# match_order=uri
checkpoints=true
pathToPHP5=/usr/php/5.2/bin
pathToPHP4=
account_list[]=intranet
username=root
password=xxxxx
[General]
[Account_intranet]
ssh_host=192.168.1.33
ssh_user=root
ssh_pass=xxxxx
ez_version=3.9.2
# The remote MySQL password. If none is provided, the system will assume
# that the password is the same as the SSH user
# mysql_pass=
mysql_user=root
mysql_db=intranetdb
mysql_host=192.168.1.33
path_to_ez=../srv/www/intranet
local_file=
Thanks
Viviana
Tuesday 21 September 2010 10:35:44 am
Hi again Viviana,
I really can`t find why its not working.
The errors says that it can`t find the ezcopy class.
The only thing I can figure it may be is that you have checked out ezcopy in lib/ but with trunk folder, so its like lib/ezcopy/trunk/..
The ezcopy files should be direct in lib/ezcopy. Please check this.
If this is not the case, Im really sorry but have noe idea what it could be withou serveraccess and the possibility to debug this myself.
Tuesday 21 September 2010 1:05:41 pm
Hi.
I am currently trying to migrate a project from 4.07 to 4.30
After the upgrade has finished it complaints about some tables not existing.
Have you experienced this your self?
Looks like it skips version 4.1.x , and jumps directly to version 4.2.x
This is a bug i am sure.
In release 4.1 some new tables concering object states were introduced and these do not exist after my upgrade has finished.
Tuesday 21 September 2010 2:05:38 pm
Yes i did try the upgrade in one go..
Perhaps i have been missing out on some in the doc?
Note: I actually try to do this the manual way at the moment (non-ezupgrade) moving from 4.0.7 to 4.1 and apparantly there are a bunch of instructions already performed on this installation, so i keep on having to comment out some of the files in the db files in the distro..
By the way i really like the ezupgrade contribution. Just hoping i manage to get this to work.
Tuesday 21 September 2010 3:05:39 pm
Hi Lars
There are some issues in the upgrade versions order. Take a look in <b>settings/ezupgrade.ini</b> and eventually alter the order :
<code>
# 30.03.2010
Versions[]=4.3.0
# 29.10.2009
Versions[]=4.2.0
# 29.09.2009
Versions[]=4.1.4
# 29.09.2009 - maintance
Versions[]=4.0.7
# 08.06.2009
Versions[]=4.1.3
# 08.06.2009 - maintance
Versions[]=4.0.6
# 26.05.2009
Versions[]=4.1.2
# 26.05.2009 - maintance
Versions[]=4.0.5
# 05.05.2009
Versions[]=4.1.1
# 05.05.2009 - maintance
Versions[]=4.0.4
# 19.03.2009
Versions[]=4.1.0
# 11.02.2009
Versions[]=4.0.3
# 03.02.2009
Versions[]=4.0.2
# 20.08.2008
Versions[]=4.0.1
</code>
May be this instead :
<code>
# 30.03.2010
Versions[]=4.3.0
# 29.10.2009
Versions[]=4.2.0
# 29.09.2009
Versions[]=4.1.4
# 08.06.2009
Versions[]=4.1.3
# 26.05.2009
Versions[]=4.1.2
# 05.05.2009
Versions[]=4.1.1
# 19.03.2009
Versions[]=4.1.0
# 29.09.2009 - maintance
Versions[]=4.0.7
# 08.06.2009 - maintance
Versions[]=4.0.6
# 26.05.2009 - maintance
Versions[]=4.0.5
# 05.05.2009 - maintance
Versions[]=4.0.4
# 11.02.2009
Versions[]=4.0.3
# 03.02.2009
Versions[]=4.0.2
# 20.08.2008
Versions[]=4.0.1
</code>
This order should work ![]()
Monday 07 March 2011 11:05:54 am