Description of problem: The ccm load command ensures that all dependant Initializers have been run prior to invoking the 'run(ScriptContext)' method on the loader. This is not done when running the 'ccm upgrade' command, which means any attempt to use system services, in particular, persistence fail. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. Run a Java upgrade scripts Actual results: No initializers are run & errors are thrown when trying to use persistence. Expected results: All initializers are run. Additional info:
The current pattern is to invoke the main method of some named Java code, and I left the burden with that code to do a "new Startup().run()". This allows upgrades to be run via ccm-run just as they are from ccm upgrade. That is, you can use ccm upgrade -f 6.0 -t 6.1 or you can $ ccm-run com.arsdigita.cms.RickshawPublishAPIUpgrade if you prefer. Some upgrades may not need initialization. I can definitely changing this, but if we did I'd want to introduce an interface and define a richer contract for Java upgrades viz CCM.
Closing old tickets