30.4 Database upgrade

After upgrading the installed software, all LedgerSMB company databases need to be upgraded in order to become compatible with the new software. This applies to minor as well as to patch releases: next to tables the schema also contains a large number of functions. While it’s policy for the project not to change the table structure in patch releases, these functions may need to be changed as part of a patch release.

The upgrade is performed by logging into the database through setup.pl. After successful login, the question ”LedgerSMB X.YY db found. Rebuild/Upgrade?” with a Yes button right below. ”X.YY” is the version you had running before starting the upgrade process.

After clicking the Yes button a series of database upgrade scripts will be executed. Prior to executing each script, checks will be performed to test whether the upgrade can be successful. If these checks find problems that need to be resolved before running the script, it will show a webpage listing offending data with instructions on how to resolve the situation.

Important This database upgrade process is one-directional. Once started there are no scripts to reverse the process. The only option to back out of the upgrade is by restoring the backup created at the start of the process.

The community is always interested in improving the upgrade experience, so when stuck it’s highly advised to contact the developers on their mailing list (devel@lists.ledgersmb.org), log an issue in the issue tracker (https://github.com/ledgersmb/LedgerSMB/issues) or join the chat channel (https://app.element.io/#/room/#ledgersmb:matrix.org) to report the problem.