You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 28 Next »

If you have previously installed COmanage Registry, follow these steps to upgrade your installation.

Always Upgrade QA First

It is recommended that you maintain separate QA (test) and Production instances. Upgrade your QA tier and confirm things are working as expected before upgrading Production.

Backup Your Database

While upgrading is usually a fairly straightforward process, from time to time fairly significant database changes are made. Efforts are made to make these changes transparent, but as a precaution you should create a backup of your database prior to upgrading in case you need to revert the upgrade.

Download New Source

Checkout the source as described in Registry Installation - Source.

For version v1.0.0, follow the steps in Upgrading Registry to v1.0.0. Do this now, not below as part of Version Specific Updates.

For versions after v1.0.0, copy your local directory from your previous installation, or symlink to it.

For versions prior to v1.0.0, depending on how you set things up previously you will likely need to:

  1. Update app/tmp to point to your production tmp directory.
  2. Re-install your authentication configuration. (eg: On Apache, copy app/webroot/auth/login/.htaccess and app/webroot/auth/logout/.htaccess.
  3. Re-install your database configuration. (app/Config/database.php)
  4. If you updated app/Config/email.php, re-install that file as well.
  5. Copy app/Config/security.salt and app/Config/security.seed.
  6. Update your registry-source link to point to the new directory.
  7. Re-install your Shibboleth Embedded Discovery Service Plugin configuration, if in use.

Clear Caches

When running the console steps under v0.9.4, you may notice deprecation messages like

Deprecated (16384): Validation::notEmpty() is deprecated.

These messages may be safely ignored, and will be addressed in a future release (CO-1119).

Various caches are maintained to improve performance, but can cause problems during upgrades. Clear existing caches prior to continuing.

In order to avoid problems with file ownership, you should run console commands as the web server user. Otherwise, make sure the cache directory (wherever app/tmp points to) and all of its subdirectories and files are writeable by the web server. chown -R and chgrp -R may be in order after running console commands.

$ cd app
$ su -c "./Console/cake cache" ${APACHE_USER}
[...]
Done clearing cache

Update Database Schema

Generally, updating the database schema is required when upgrading COmanage Registry. You may need to run this command as a user that has permission to write to your tmp directory.

$ cd app
$ su -c "./Console/cake upgradeVersion" ${APACHE_USER}
[...]
Current version: 0.9.4
Target version: 1.0.0
[...]
Database schema update successful

Upgrading Multiple Versions

It is not always possible to upgrade multiple versions in one step. For example, if you are currently running 0.9.3 you cannot directly upgrade to 1.0.0. If you try, you will see the error message

Cannot automatically upgrade past version 0.9.4. Please upgrade to that version first.

You must download and upgrade successfully to version 0.9.4, and then you may download and upgrade from 0.9.4 to 1.0.0.

Updating May Throw Error

When upgrading the database schema, you may see "Possibly failed to update database schema" instead. In all likelihood, the database schema successfully updated. (CO-165)

Periodically, database tables are removed from use. The database schema management script does not currently drop disused tables (CO-672). You should remove them manually to avoid problems with deleting records with foreign key constraints.

The following list of tables can be dropped as of the listed version:

Once you upgrade to this version

You should drop these tables (if present)

Registry 0.8.2

cm_co_changelog_provisioner_exports

Version Specific Database Updates

Run the appropriate steps for the versions you are upgrading past AND to. For example, if you are upgrading from v0.8.2 to v0.9, you must run the upgrade steps for both v0.8.3 and v0.9.

Error rendering macro 'children'

null

  • No labels