...
- Each major version release of Rogo has its own update file. So the version 5 branch uses /updates/version5.php. Different files are used for different versions for speed, otherwise there would be too many checks. Each upgrade script will take a Rogo install to the start of the next version. For example, /updates/version5.php will upgrade any version 5 all the way to the start of the 6.0 branch.
- The files in the /updates/version5/ directory gets automatically included when /updates/version5.php is run. Each separate update check is in its own file. The reason for this is to avoid conflicts when working in a large team when multiple programmers may all need to change the main update script. This approach solves the conflict issue because separate files are used.
- Some actions such as transforming content into a different format should only be performed once. Because an update script may be run several times in a major release branch it is important that the transformation is not reapplied. To solve this (starting at Rogo 6.0) there is a new database tabled called sys_updates. Two functions
record_update
andhas_updated
can be used to record and check whether an update has been done respectively.