This documentation is for WSO2 API Manager 1.9.0 View documentation for the latest release.
Page Comparison - Upgrading from the Previous Release (v.44 vs v.45) - API Manager 1.9.0 - WSO2 Documentation

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Stop all running API Manager server instances.
  2. Make sure you backed up all the databases and synapse configs as instructed in step 1 of the previous section.

    Download Download WSO2 API Migration Client v1.9.0X.

  3. Extract the file you downloaded in the previous step and do the following:
    1. Copy the org.wso2.carbon.apimgt.migrate.client-1.9.0X.jar file to <APIM_1.9.0_HOME>/repository/components/dropins. If you use a clustered/distributed API Manager setup, copy the JAR file to all nodes.
    2. Copy the migration-script folder into <APIM_1.9.0_HOME>/. If you use a clustered/distributed API Manager setup, copy the migration-script folder to the node that hosts your database.
  4. If you are not using the MySQL database with the API Manager, change the query inside <APIM_1.9.0_HOME>/migration-scripts/18-19-migration/drop-fk.sql according to your database type. The scripts for each database type are given in the table below:

    Database typeScript
    MySQLNo changes are required as the default drop-fk.sql file already contains the scripts for MySQL.
    H2SELECT DISTINCT constraint_name FROM information_schema.constraints WHERE table_name = 'AM_APP_KEY_DOMAIN_MAPPING';
    ALTER TABLE AM_APP_KEY_DOMAIN_MAPPING DROP CONSTRAINT <temp_key_name>;
    OracleSELECT DISTINCT constraint_name FROM user_cons_columns WHERE table_name = 'AM_APP_KEY_DOMAIN_MAPPING';
    ALTER TABLE AM_APP_KEY_DOMAIN_MAPPING DROP CONSTRAINT <temp_key_name>;
    MS SQL ServerSELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE WHERE TABLE_NAME = 'AM_APP_KEY_DOMAIN_MAPPING' AND COLUMN_NAME='CONSUMER_KEY'; 
    ALTER TABLE AM_APP_KEY_DOMAIN_MAPPING DROP CONSTRAINT <temp_key_name>;
    Postgresql

    SELECT CONSTRAINT_NAME FROM information_schema.constraint_table_usage WHERE TABLE_NAME = 'AM_APP_KEY_DOMAIN_MAPPING';
    ALTER TABLE AM_APP_KEY_DOMAIN_MAPPING DROP CONSTRAINT <temp_key_name>;

  5. Start the API Manager 1.9.0 with the following command line options to migrate the database, registry and the file system together or separately.

    Warning

    If you have a multitenant API Manager setup, copy the contents from your previous <APIM_HOME>/repository/tenants directory to the same directory in the API Manager 1.9.0 (do not replace the _TokenAPI_.xml_RevokeAPI_.xml and _AuthorizeAPI_.xml files in the /default/api sub directory) before you start the server with the following commands.

    To migrate the database, registry and file system together-Dmigrate=true  -DmigrateToVersion=1.9
    To migrate the database only-DmigrateDB=true  -DmigrateToVersion=1.9
    To migrate the registry only-DmigrateReg=true  -DmigrateToVersion=1.9
    To migrate the file system only-DmigrateFS=true  -DmigrateToVersion=1.9
    Tip

    Tip: You If you are using a standalone API Manager setup you can migrate all the resources together with the -Dmigrate=true  -DmigrateToVersion=1.9 command or perform single resource migrations using the other commands separately. If you execute execute -Dmigrate=true  -DmigrateToVersion=1.9, you do not need to execute the rest.

    Tip

    Tip: If you are using a clustered/distributed API Manager setup, runwith the following options -DmigrateDB=true  -DmigrateReg=true  -DmigrateToVersion=1.9 in the node where you have the database, -DmigrateReg=API Publisher node and -DmigrateFS=true  -DmigrateToVersion=1.9 in the API Publisher and -DmigrateFS=Gateway node.

    Optionally, if you want to migrate the API stats DB you can use the following option -DmigrateStats=true  -DmigrateToVersion=1.9

    in

    when running on the API

    Gateway

    Publisher node.

  6. Do the following to re-index the artifacts in the registry:

    1. Rename the <lastAccessTimeLocation> element in the <APIM_1.9.0_HOME>/repository/conf/registry.xml file. If you use a clustered/distributed API Manager setup, change the file in the API Publisher node. For example, change the /_system/local/repository/components/org.wso2.carbon.registry/indexing/lastaccesstime registry path to /_system/local/repository/components/org.wso2.carbon.registry/indexing/lastaccesstime_1

    2. Shut down the API Manager 1.9.0, back up and delete the <APIM_1.9.0_HOME>/solr directory and restart the server.

...