I'm responding to an email question in the forums for broader audience:
<blockquote> Outlier #1: The upgrade script should be run by anyone running on a
previous tagged version (e.g. rc2, rc1, 1.x). I called the script
"upgrade-feb-20-2004.sql", consistent with the naming scheme for other
upgrade scripts in the sql/dbname/upgrade subdirectory. I haven't
checked to see if APM will pick up and run it correctly. Joel, if you
happen to know the answer, and that it *should* work, maybe we're
really actually truly ready! 😊
</blockquote>
Our release numbering rules are here:
https://openacs.org/doc/openacs-HEAD/eng-standards-versioning.html
The APM's documentation is here: https://openacs.org/doc/openacs-HEAD/apm-design.html
Useful facts that I can't find in the documentation:
The APM decides which scripts to run based on the version number in the .info file. So if you add an upgrade script, you must change the version number in the .info to an equal or higher value.
Example: foo package is at 5.0.3a1
You need to add an upgrade script. Call it
/sql/postgresql/upgrade-5.0.3a1-5.0.3a2.sql
and change the version in foo.info to 5.0.3a2.
Later, the package is released, so the version number in foo.info is changed to 5.0.3. Anyone upgrading from 5.0.2 to 5.0.3 will have the script run automatically.
Using any letter besides d, a, or b for revision causes problems - both in the .info and in the upgrade version numbers. 'rc' is not yet supported - instead just keep using b numbers. So if RC1 comes after beta 4, and we need to make more changes, we go to b5, b6, etc.