IMPORTANT: if you are using REST APIs against eramba do not upgrade to v3 yet as they are still being developed.
This step-by-step guide explains how to migrate eramba from version e2.20.7 to e3.4 (if you have not upgraded to e2.20.7 please review this post). There is a video at the end of this guide for further assistance.
YOU WILL REQUIRE ACCESS TO YOUR LINUX SYSTEM AND SOME LINUX SKILLS SO PLEASE CONTACT YOUR SYSTEM ADMINISTRATORS FOR HELP!
- Email email@example.com a request that you want to upgrade to eramba_v3 the following information:
- System / About (Screenshot showing app id, app version and database version)
- System / Settings / System Health (Screenshot showing all items are OK)
DO NOT UPGRADE BEFORE FIRST LETTING US KNOW!
- Delete your crontab so you prevent them from running during migration (there are new commands in v3)
- Make backup of files and database or simply create snapshot of the machine
- Create app_local.php file under /eramba_v2/app/Config/ (download sample from here)
- Confirm eramba is running in offline mode by going to System / Settings / Updates (a message will be shown to you making this very explicit)
- Download the upgrade package e3.0.0 from https://downloads.eramba.org
- Navigate into eramba_v2/app and run command
Console/cake update update /FullPathToPackageE3.0.0
Good, you are now on 3.0.0 From now on you need to upgrade multiple updates using CLI until you get to the version 3.4.0
- Download upgrade packages 3.0.1, 3.0.6, 3.1.0, 3.2.0, 3.3.0, 3.3.2, 3.4.0 from https://downloads.eramba.org
- Navigate into eramba_v2/app/upgrade and run command
bin/cake update --from-package=/FullPathToPackageE3.0.1
- Repeat the step 9 until you get to the 3.4.0
- When you get to version 3.0.6 you can login into eramba and resolve issues on system health
- At this point you can login into eramba using the web-interface as usual, just make sure you login with admin user or a user that is member of the admin group and then go to System / Settings / System Health and make sure all is OK (green). If you find NOT OK (red) messages then you need to go one by one and correct whatever is necessary:
SQLite: you need to install a php module called SQLite
Permissions: you need to make sure all files inside eramba are owned by a user/group that apache is running. In ubuntu, for example: chown www-data: eramba_v2 -R (important the -R to make it recursive)
Database Permissions: you need to make sure the user that connects to your database has the right permissions. Login to your engine as root and make sure the user is granted all the following rights: GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX,TRIGGER ON database_name. TO ‘mysql_user’@‘localhost’;*
GRANT PROCESS ON . TO ‘mysql_user’@‘localhost’;
- Update crontab with new commands, go to system / settings / crontab and you will see the new commands. You need to edit your crontab and put the new commands (remove the old ones of course)
- Go to System / Settings / Help Improve eramba and enable improvement mode (it send us additional logs so we are able to debug and diagnose the problem faster if some issue occurs)
- From version 3.4.0 we are back at the normal update which is done via browser. Before that please review this post.
If at any point in the process, you have an issue (quite unlikely) please extract error logs from (eramba_v2/app/upgrade/logs/) or if you have access to the gui (System / Settings / Error Log / Download All Files) and then contact firstname.lastname@example.org and we’ll try to assist (include error logs please)
The video with the instructions: