Xray 7.x introduces a series of data structure changes. Every relation pointing to a Test now points to a Test version. This data transformation is done using an Upgrade Task that runs once.

Downgrading from Xray 7.x.x to a previous version may have side effects if you have created new versions.

When downgrading, executing the following queries will result in losing data forever. E.g., having created more versions for a test issue, the data (test type, test definition, preconditions, datasets, etc.) of the non-default versions will be lost.

And data related to versions; please look into Xray 7.0.0 Release Notes.




When having upgraded to 7.0.0 and downgraded to a previous version, and created data in this previous version, Xray will need to rerun the upgrade task when installing in 7.x.x. To make sure the upgrade task runs and to avoid any conflicts when upgrading, you should now follow the following steps (these can and should be executed now):

 - Create a backup of your instance
 - Run the following queries (Note: the following queries should only be done when asked by the Xray team)

delete from "AO_8B1069_TEST_CHANGE";  
truncate "AO_8B1069_GENERIC_DEFINITION";
truncate "AO_8B1069_CUCUMBER_DEFINITION";
UPDATE "AO_8B1069_TEST_PRE_COND_LINK" SET "TEST_VERSION_ID" = null;
UPDATE "AO_8B1069_PARAM" SET "SUB_ENTITY_ID" = null;
UPDATE "AO_8B1069_TEST_STEP" SET "TEST_VERSION_ID" = null;
UPDATE "AO_8B1069_AUTOMATED_STEP_ISSUE" SET "TEST_VERSION_ID" = null;
UPDATE "AO_8B1069_ENTITY_DATASET_SIZE" SET "SUB_ENTITY_ID" = null;
UPDATE "AO_8B1069_TEST_RUN" SET "TEST_VERSION_ID" = null;

delete from "AO_8B1069_TEST_VERSION";  


-- Preconditions validation: Check for the unlikely case of having the same precondition linked more than once to the same test
select count(*), "TARGET_ISSUE", "SOURCE_ISSUE"
from "AO_8B1069_TEST_PRE_COND_LINK"
group by "TARGET_ISSUE", "SOURCE_ISSUE"
HAVING count(*)>1

-- Preconditions validation: If the previous query returned results, then delete the duplicated ocurrences using the query of your choice


-- Get upgrade number IDs
select ps.* from propertystring ps
join propertyentry pe on pe.id=ps.id
where property_key like '%xray%';

update propertystring set propertyvalue = 2007000000 where ID in (<ids from the previous query that has the value 2007000001>);

– Re-run this select to validate the values have been changed

select ps.* from propertystring ps join propertyentry pe on pe.id=ps.id where property_key like '%xray%';