Revision [1802]

This is an old revision of HOWTOupgrade made by TimSchofield on 2010-05-01 02:05:14.

 

Guide to Upgrading


There are three steps to Upgrading webERP

Backup


Backup your MySQL database with whichever tool you understand and know how to restore a backup with.

Using mysqldump :

#mysqldump -u weberp_db_user - p weberp_db_pwd weberp > weberp.sql

where weberp_db_user is the mysql user name that has access to the weberp database, weberp_db_pwd is the user's password and weberp is the name of the weberp database. A new file containing the sql statements necessary to restore the database will be created called weberp.sql under the current directory. Keep this weberp.sql file as your backup of all your data prior to the upgrade.

The Easy Way to Backup
If you prefer to use a GUI to backup then phpMyAdmin offers a convenient way to do this using the export tab - see below - by default from the main database view - the export tab selects all tables to be exported as SQL - clicking GO produces a DB dump to a file that you can specify - this saves having to use the command line
phpMyAdmin Backup

Upgrade the Scripts


! Backup the old weberp script directories. !
Whenever you modify scripts in webERP you should copy these outside the webERP directory tree - these will provide the checklist of the functionality you need to rework with the new database structure of the upgraded database. Ultimately it could well save you effort if you wish to stay current with the latest webERP scripts to consider contributing your modifications where they are done in a generic way back to the webERP project so they get incorporated in the next release. It is not a bad idea to also copy your config.php file as well as this contains the connection information for your installation.

Download the latest version of webERP
Extracting the archive of the new version under your web-server's root directory will create a webERP directory with all the new scripts in it.
If your installation is not under the webERP directory of your web-server then you will now need to copy the new webERP scripts over the old scripts using you favourite graphical file manager (or the command line if necessary).

Edit the new config.php file and set the variables - in particular the database user and password, the company selection choices, note that the database name is no longer required since this is now determined by the company directory - there must exist a company directory (under webERP/companies/ ) that is also the name of the mysql database. Don't forget also the demo mode - shows the user name and password to login as for the demo and is not appropriate in a live install. Since all the system configuration has been moved into the database the modifications required in config.php file are now minimal. All the files specific to the company installation are held under the companies directory - you will need to copy all directories under your old companies directory over to your new companies directory.

cp -R /path_to_old_webERP_scripts/companies /path_to_new_webERP_scripts/companies

replace path_to_old_webERP_scripts and path_to_new_webERP_scripts with the actual paths! Obviously, this could be more easily acheived using a graphical file manger.

The aim is to copy all the company specific files such as logo and part pictures etc over to the new upgraded installation.

Upgrading the Database to Run with the New Scripts


Log in to your new system with a system administrator login and password.

From version 3.04 there has been automated scripts that perform the upgrade to the database automatically. You must run each of these scripts in turn - by entering the URL directly in your browser's "location"/navigation bar.

Z_Upgrade_3.04-3.05.php

follow the prompts to perform the database changes - any changes required to the data structure will also be performed using these scripts.
then ...
Z_Upgrade_3.05-3.06.php
Z_Upgrade_3.06-3.07.php
Z_Upgrade_3.07-3.08.php
etc...

You will need to do this process for each company you run webERP on.
That's it!



If you have a version of webERP before 3.05 then you will need to run the sql to upgrade the database manually either using the mysql command line or phpMyAdmin (or other mysql client)
If you upgrade using the mysql command line and your webERP database is called "weberp", add the line at the top of each upgrade script.

There is an upgrade script for Z_Upgrade_3.01-3.02.php that is required to be run - this converts the database tables and also applies necessary alterations to existing data. This should be run in preference to the manual approach discussed here for the step between 3.01 and 3.02.

use weberp;

Change the "weberp" above to the name of your database if it is not called weberp.

The step above is not necessary if you run the sql upgrade scripts from phpMyAdmin as you select the database using the GUI - simply go into the SQL tab of phpMyAdmin and load each upgrade script (see below) required in turn.

If you are running a multi-company setup, the upgrade scripts must be run against all company databases you run. Each company has a separate database under webERP.

With each new version the necessary changes to the database are contained in sql scripts under the sql/mysql directory of the format

upgradeX.XX_Y.YY.sql

where X.XX is the version to upgrade from and Y.YY is the version to upgrade to.

The command to upgrade the database is as follows:

mysql -uUSER -pPWD < path_to_upgraded_webERP_install/sql/mysql/upgradeXX.X-YY.Y.sql

Repeat the command using each upgrade script in sequence - starting from your current version of webERP.

There should be no errors, if there are, stop now and investigate as the new scripts will not work if errors were returned.

! Backup the new database before entering any transactions, if you have made a mistake, then you can fix it and reload the database!

Upgrading to the Latest CVS version

Be warned that whilst the code in webERP is mature and large changes are unlikely - it is certainly possible that some new code could cause the system to become unstable and therefore running off the CVS code has risks and is not recommended. However.....

Assuming your on a linux system and have CVS installed.

mkdir /tmp/weberp-cvs
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/web-erp login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/web-erp co -P webERP
cvs -z3 update -d -P

This will retrieve all the latest scripts to your new /tmp/weberp-cvs directory/folder
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki