UPGRADING INSTRUCTIONS

Currently officially released is itracker version 2.4.2.

We are finishing itracker version 3.0 (which will be a major step forward) and we need tester for this release.

Before starting any upgrade, it is highly recommended that you make a backup of your database and the attachments directory (in versions prior to 2.3.1).

From 2.4.2 to 3.0, ABSOLUTELY MEGA BETA (GET IT FROM THE CVS, itrackerhibernate BRANCH, DON'T USE ON PRODUCTIVE SYSTEMS)::

MySQL 4.1.2 changes:
alter table languagebean change id id INT NOT NULL AUTO_INCREMENT;
alter table configurationbean change id id INT NOT NULL AUTO_INCREMENT;
update userpreferencesbean set use_text_actions=0;

From 2.3.3 to 2.4.2: released version.:

ORACLE ONLY: The BLOB datatypes do not work correctly with CMP, so they were converted to use LONG RAW instead. If you have BLOB data types for the file_data columns in the issueattachmentbean and reportbean tables, you will need to convert them to use LONG RAW.

From 2.3.2:

A new column, report_type, was added to the reportbean table. This column should be created and set to 1 for all current reports.

Permissions were slightly changed. Any users that previously had Edit All permission, should be given Full Edit permission. If this permission isn't given, then those users wil not be able to edit all of the details of an issue.

From 2.3.1:

The reportbean table was changed. The column xml was removed, and a new column file_data was added. If you had reports that were created in 2.3.0, you should copy the data from the xml field and place it in the file_data field. You can either do this manually, or save the data to a file and then edit the report online and use the new file.

The issueactivitybean table was modified. A new column notification_sent was added. This column should be added, and initialized to 1 for all rows.

Follow Instructions for 2.3.2.

From 2.3.0:

A new table project_field_rel was added. This table needs to be created. To populate the table, the easiest thing to do is to edit all of your projects online, and reassociate the custom fields with the project.

A new column file_data was added to the table issueattachmentbean. This column needs to be added to the table. This new column is now used to store the attachment file contents instead of using file storage on the web server. The data from your existing attachments will automatically be loaded into the database when the system is first started. After the attachments have been moved and you have verified that they were loaded correctly, you should remove all the files from the attachment directory so they will not be reprocessed the next time the system is started.

The bit_value field in the customfieldbean table is no longer used.
The custom_fields field in the projectbean table is no longer used. Follow Instructions for 2.3.1.

From 2.2.x:

NOTE:

ITracker now requires a UTF-8 compilant database for non english locales. MySQL prior to 4.1.1 will not work correctly with non english locales as of ITracker version 2.3.0.

A new table reportbean was added to support reporting. Add this table, but no initialization of data is required.

A new table configurationbean was added to support online configuration. Add this table, but no initialization of data is required.

A new table languagebean was added to support online configuration. Add this table, but no initialization of data is required.

A new table customfieldbean was added to support online configuration. Add this table, but no initialization of data is required.

A new table customfieldvaluebean was added to support online configuration. Add this table, but no initialization of data is required.

A new column remember_last_search was added to the userpreferencesbean table. Create this column and set it to 0 for all rows.

The following columns were renamed to provide better database support (firebird):

Table userbean password -> user_password
Table issueactivitybean type -> activity_type
Table issueattachmentbean type -> attachment_type
Table permissionbean type -> permission_type

If you are currently using custom fields, you will also need to perform some amount of data conversion. First you will need to use the new online configuration, and redefine all of your custom fields so they are loaded into the database. Then you will need to map all the old custom field data to the new custom fields. This is done by modifing the field_id column in the issuefieldbean table to correspond to the id of the matchinging custom field from the customfieldbean table. Be aware that in 2.2.1 the field_id column, was actually the bitvalue that was defined in the resource bundle. So if your old custom field with a bit value of 8, because a new custom field with an id of 43, you would update the data in the issuefieldbean table to change the field_id from 8 to 43. Note that this will require that you manually compare each of your old fields with the new ones in the database. As long as you don't change the values of options in the old custom fields, to the new ones, you shouldn't need to make any other changes.

Follow Instructions for 2.3.0.

From 2.1.1:

The column role in the notificationbean table has been renamed user_role.

Follow Instructions for 2.2.x.

From 2.0.x:

A new column hidden_index_sections was added to the userpreferencesbean table. Create this column and set it to 0 for all rows.

A new column custom_fields was added to the projectbean table. Create this column and set it to 0 for all projects.

A new table issuefieldbean was added to support custom fields. Add this table, but no initialization of data is required.

A new table scheduledtaskbean was added to support the scheduler. Add this table, but no initialization of data is required.

Follow Instructions for 2.1.1.

From 1.7.x:

Follow Instructions for 2.0.x.

From 1.6.x:

A new column user_locale to support internationalization was added to the userpreferencesbean table. This column must be added but no value is required.

A new column target_version_id must be added to the issuebean table. No data conversion is required.

Then follow instructions for 2.0.x.

From 1.5.0:

If you want to keep your existing users, you must add a new column to the userbean table called registration_type. After creating the column, update all existing records with a value of 1 to represent they were not self_registered users.

Then follow the instructions for 1.6.x.

From 1.4.x:

The status values have been updated to use different numbers to allow for better customization of statuses. If you want to keep your existing data you will need to update the status field in the issuebean table as follows:

Change 1 -> 100
Change 2 -> 300
Change 3 -> 400
Change 4 -> 500

Also a new integer column should be added to the projectbean table called options. This is used to store project specific boolean options. After creating the column, you must update it's value to 0 for all existing projects.

Also a new column needs to be added to the issuehistorybean table called status. This is used to allow a super user to remove a history entry but still maintain it in the database for archive purposes. After creating the column, you must update all existing history entires to have a status of 1.

Then follow the instructions for 1.5.0.

From 1.2.2:

In all previous versions there was a bug in the way JBoss and WebLogic were storing the component/version issue relations. Basically the data was in the wrong columns so the issue_id had the component's id and the component_id had the issue's id. Normally this wouldn't matter because it was consistent but the search uses straight SQL which would cause problems on different platforms. As such I had to fix it to get search to work correctly. If you want to keep your existing data, you'll need to go in and alter the tables to reverse the data before you run the new code. The easiest thing to do is rename issue_id column to temp, rename component_id to issue_id, and then rename temp to component_id. This needs to be done on all 3 relationship tables.

Also a new column, status, was added to the projectbean, componentbean and versionbean tables. You will need to add this column to the tables and populate it with a value of 1.

Also for MySQL, all the timestamp columns were changed to datetime. While the system will work if this isn't changed, it will cause the create dates for all components to constantly reset and be incorrect. This will prevent the user, or future features from determining how long an issue has been open.

Then follow the instructions for 1.4.x.

From 1.2.1:

Follow instructions for 1.2.2.

From 1.2.0:

Follow instructions for 1.2.2.

From 1.1.1:

You will need to change the column 'size' in the issueattachmentbean table to be 'file_size'. Then follow the instructions for 1.2.2.

From 1.1.0:

    1. To upgrade from 1.1.0 and keep your existing data, you need to add the column 'file_size' of type int to the issueattachmentbean table.
    2. Update the issueattachmentbean table and set the size for each entry. The easiest way to do this is just set the size of all existing rows to 0. This means existing attachments won't be used to enforce the quotas but is much easier than putting realistic values into a lot of data.
    3. After altering the table, follow the instructions for 1.2.2.

From 1.0.x:

    1. To upgrade from 1.0 and keep your existing data, you need to create the issueattachmentbean table manually instead of rebuilding the entire database. The schema for the issueattachmentbean can be found in the create_itracker_core.sql script in the sql/<db>/install directory, where <db> is either mysql, postgres, or oracle.
    2. After creating the new table, follow the instructions for 1.2.2.



SourceForge.net Logo Yes, we are on SourceForge.
Yes, because they have a good relationship to the communty.
Yes, dear SourceForge, please add Java support to your web hosting,
and yes dear SourceForge, thanks for the subversion support you gave us! Thanks.