Hi,
Our infrastructure people are wondering how an upgrade in Matrix works (both minor e.g. 3.6.3 -> 3.6.4, and major e.g. 3.4 -> 3.6)
I once had a chat with a client who said they were duplicating the system on a different port and then at the last minute switched port (for a major upgrade). Is this how it is usually done? What is(are) Squiz's usual procedure(s)?
Cheers.
PS: Clients' experiences welcome…
[quote]I once had a chat with a client who said they were duplicating the system on a different port and then at the last minute switched port (for a major upgrade). Is this how it is usually done? What is(are) Squiz’s usual procedure(s)?
[right][post=“8341”]<{POST_SNAPBACK}>[/post][/right][/quote]
Minor upgrades are usually done in-place, either using CVS to upgrade the code, or by doing a tarball-based code drop. You then run step_02, compile_locale and step_03 and the system is upgraded. 
Major upgrades are done in a number of ways, depending on the infrastructure that is available to the client. Some clients (as you know), will have a second implementation on the same hardware that they upgrade. This is not recommended, due to the resource requirements sometimes required by the upgrade process.
My personal preferred option is where a separate test environment is available: I make a copy of the production system onto test, halt publishing on the live site, upgrade the copy, test the copy and if everything is OK, move the upgraded test copy over to production. Its longer, but far safer in terms of any upgrade issues.
For major upgrade involving database changes, would Squiz provide a script which takes care of updating tables schemas and fill new columns with default values and such? Or would we be required to do some SQL work to ensure consistency with the old data?
Cheers.
Some queries are required. All other work is taken care of by step_03.php
[quote]Some queries are required. All other work is taken care of by step_03.php
[right][post=“8425”]<{POST_SNAPBACK}>[/post][/right][/quote]
But those queries would be provided by Squiz right?
I’m just passing on questions from our DBA who is wondering what amount of work would be required from him and his team during such an upgrade.
Yes. If any queries are required, Squiz will provide them.
Queries are only ever required if we have to change the existing DB schema. New tables, functions etc ar taken care of in step_02.php, but column type changes or name changes are done through queries.
[quote]Queries are only ever required if we have to change the existing DB schema. New tables, functions etc ar taken care of in step_02.php, but column type changes or name changes are done through queries.
[right][post=“8440”]<{POST_SNAPBACK}>[/post][/right][/quote]
Greg, wasn’t there some discussion on modifying step_02.php to make these changes as well? I know Marc was talking about developing at least an index validation system, where the current database indices are verified against the list of indices required. Though, I’m not sure if this was for the current version or part of the discussions for Matrix v4.0.
There is no development planned for this kind of feature. It would be something we look into for 4.0 only as we dont expect the current schema to change very often now that Oracle support is in and working.