Upgrade Redmine 0.8.5 to 0.9.3

This section describes how to upgrade redmine 0.9.3 to 1.1.0 (NEW), or 0.8.5 to 0.9.3.

Please note the attached shell script. It contains the complete sequence used by me to migrate my installation.

1. Prepare

Familiarize yourself with upgrade instructions and version requirements.

Backup your database and file uploads.

The trunk version of Redmine after r2886 uses Rails 2.3.5, so you will need to upgrade your Ruby on Rails gem:

gem install rails -v=2.3.5

2. Upgrade

1. Uncompress the new program archive in a new directory.

2. Copy your database settings-file config/database.yml into the new config directory.

3. Copy your email settings-file config/email.yml into the new config directory.

4. Copy the RAILS_ROOT/files directory content into your new installation.

5. Copy the folders of your installed plugins into new installation directory

6. For redmine 1.1 additionally install the i18n gem and upgrade ruby gems to version 1.3.5+ (required by i18n). Gems 1.3.6+ requires ruby 1.8.6, but CentOS 5 has only 1.8.5, so install 1.3.5 (rubygems-1.3.5.tgz):

 tar xzf rubygems-1.3.5.tgz
cd rubygems-1.3.5
ruby setup.rb 

Install the i18n gem:

 gem install -v=0.4.2 i18n

7. Generate session store. For redmine 0.9 run the following command from your Redmine root directory:

rake config/initializers/session_store.rb

This will generate the file config/initializers/session_store.rb with a random secret used to secure session data.

For redmine 1.1 use the following command:

rake generate_session_store

8. Check for any themes that you may have installed in the "public/themes" directory.

You can copy them over but checking for updated version is ideal.

VERY IMPORTANT: do NOT overwrite config/settings.yml with the old one.

9. Migrate the database.

This step is the one that could change the contents of your database. Go to your new redmine directory, then migrate your database:

rake db:migrate RAILS_ENV=production 

If you have installed any plugins, you should also run their database migrations. If you are upgrading to Rails 2.2.2 as part of this migration, you need to upgrade the plugin migrations first:

rake db:migrate:upgrade_plugin_migrations RAILS_ENV=production 
rake db:migrate_plugins RAILS_ENV=production 

3. Clean up

1. You should clear the cache and the existing sessions:

rake tmp:cache:clear
rake tmp:sessions:clear

2. Restart the application server (e.g. mongrel, thin, passenger)

3. Finally go to "Admin -> Roles & permissions" to check/set permissions for the new features, if any.

4. Common issues

4.1. Errors with repository management

There were several new features added to the reposman.rb file, make sure you have a group specified if you're having issues ( --group=groupnamehere). Also, make sure you follow the instructions here again if you only copied your Redmine.pm, and update your Apache configuration as the recommended configuration has changed.

5. Database migration

If you have to repeat the database migration, remember to recreate database completely (i.e. drop database / create database). Otherwise your plugin migration might complain about already existing tables.

6. Plugin migration issues

When I copied plugins from old redmine directory to the new one, by mistake I copied not only the plugins I installed myself but also the activewebservice plugin, which is included into redmine 0.8.5 by default. It is absent from the 0.9.x distribution, and migration brought me the error

uninitialized constant ActionController::AbstractRequest (NameError)

This problem is described here1, here2 and here3. Removing this plugin from the destination directory solved my problems.

Attachments

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
To prevent automated spam submissions leave this field empty.