When upgrading continuum, it could have some database model changes. This tool exports data from old database model and imports the data into the new database model.

There are 2 databases that need to be converted, one for the builds and one for the users.

Download The Tool

The tool is a standalone jar that you can download from the central repo.

You will need to download 2 versions of the tool, one for the export out of the old version and one for the import into the new version:

The first version of this tool is 1.1-beta-2

Exporting Data from the old version

Follow these steps:

  • Stop the old version of continuum
  • Export the build and user data from the old version using the jar for the old version:
    java -Xmx512m -jar data-management-cli-1.1-beta-4-app.jar -buildsJdbcUrl jdbc:derby:${old.continuum.home}/data/continuum/database -mode EXPORT -directory backups
    java -Xmx512m -jar data-management-cli-1.1-beta-4-app.jar -usersJdbcUrl jdbc:derby:${old.continuum.home}/data/users/database -mode EXPORT -directory backups

Importing Data to the new version

Follow these steps:

  • Start the new version continuum to create the new data model.
  • Stop continuum
  • Run the specific steps for your version, described below
  • Import the build and user data into the new version using the jar for the new version:
    java -Xmx512m -jar data-management-cli-1.1-app.jar -buildsJdbcUrl jdbc:derby:${new.continuum.home}/data/continuum/database -mode IMPORT -directory backups
    java -Xmx512m -jar data-management-cli-1.1-app.jar -usersJdbcUrl jdbc:derby:${new.continuum.home}/data/users/database -mode IMPORT -directory backups
  • NEXT_VAL values in SEQUENCE_TABLE must be checked before restarting continuum
    • Normally, the SEQUENCE_TABLE is ok but in some cases the values are wrong.
    • Before starting Continuum for the first time after the import, connect to the db with a client like Squirrel SQL and check the values in the NEXT_VAL column.
    • Values must be greater than the max id value in each table.
    • For example, the next value of "org.apache.maven.continuum.model.Project" must be greater than the greatest id in Project table.
  • Start the new version of continuum.

Specific steps to do before to import

1.1 import

Before to import from an older version (before 1.1-beta-4 to 1.1 final, you must open the builds.xml file under backup directory and remove all 'testResults' tags. You can remove them with the following XSL:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>
 <xsl:template match="testResult"/>
  <xsl:template match="@*|node()">
      <xsl:apply-templates select="@*|node()"/>

And you can run it with this command:

xsltproc copy.xsl builds.xml > fixed-builds.xml