Title: Upgrading ODE
Category: documentation
## Overview
You shall backup
ODE upgrade procedures usually consist in:
* backing up your database
* checking your backup
* double-checking your backup
* running the required SQL upgrade script
* deploying your new ODE war.
* copying all the previous configuration and deployed processes (with the corresponding markers).
##From ODE 1.3.6 - 1.3.7
Migration is necessary from 1.3.6, read the migration script available [here](https://github.com/apache/ode/blob/APACHE_ODE_1.3.7/schema-updates/migrate-ode-1.3.6-to-1.3.7.sql).
##From ODE 1.3.4 - 1.3.6
ODE 1.3.4, 1.3.5 and 1.3.6 share the same schema definitions.
## From 1.3.3 to 1.3.4
First, apply SQLs to denormalize LARGE_DATA table from [here](https://issues.apache.org/jira/browse/ODE-694)
Then, please apply following updates:
:::sql
alter table BPEL_XML_DATA add SIMPLE_VALUE varchar2(255);
create table ODE_JOB_BAK as select * from ODE_JOB;
alter table ODE_JOB add instanceId number(37);
alter table ODE_JOB add mexId varchar(255);
alter table ODE_JOB add processId varchar(255);
alter table ODE_JOB add type varchar(255);
alter table ODE_JOB add channel varchar(255);
alter table ODE_JOB add correlatorId varchar(255);
alter table ODE_JOB add correlationKeySet varchar(255);
alter table ODE_JOB add retryCount int;
alter table ODE_JOB add inMem int;
alter table ODE_JOB add priority int;
alter table ODE_JOB add detailsExt blob;
update ODE_JOB oj set detailsExt = (select details from ODE_JOB where jobid = oj.jobid);
alter table ODE_JOB drop column details;
## From 1.3.2 to 1.3.3
None
## From 1.2 to 1.3.2
If you're currently using ODE 1.2 and are upgrading to 1.3.2, please run the following queries.
### For OpenJPA database schema
:::sql
create table ODE_SCHEMA_VERSION (VERSION integer);
insert into ODE_SCHEMA_VERSION values (5);
alter table ODE_MESSAGE_EXCHANGE add column (SUBSCRIBER_COUNT integer);
alter table ODE_MESSAGE_ROUTE add column (ROUTE_POLICY character varying(255));
### For Hibernate database schema
(Mind the table names)
:::sql
create table ODE_SCHEMA_VERSION(VERSION integer);
insert into ODE_SCHEMA_VERSION values (5);
alter table BPEL_MESSAGE_EXCHANGE add column (SUBSCRIBER_COUNT integer);
alter table BPEL_SELECTORS add column (ROUTE_POLICY character varying(255));
## From 1.1 to 1.2
The upgrade path from 1.1 to 1.2 is relatively simple as there haven't any major change in the database or runtime models. Still, if you use the Hibernate database schema, one column has been added so you will need to execute the following upgrade script (make sure to *backup before* to prevent any data loss):
:::sql
alter table BPEL_SELECTORS add column (PROC_TYPE varchar(255));
update BPEL_PROCESS p, BPEL_CORRELATOR c, BPEL_SELECTORS s set s.PROC_TYPE = ('{' + p.type_ns + '}' + p.type_name) where s.CORRELATOR = c.CID and c.PROCESS_ID = p.PROCID;
The update statement is only necessary if you have currently running instances. Note that if you're using the default OpenJPA database schema, no database modifications are necessary. Once this is done, it's fairly simple:
* Redeploy your new ODE 1.2 WAR.
* Copy all the previous configuration and deployed processes (with the corresponding markers).
That's it\!