💥 Potentially breaking changes, please read the details below💥
We are now moving the Employee Success server app to our new consolidated platform. We have been working on this migration project for more than 8 months now.
Please check different scenarios below & follow the relevant steps.
Scenario 1
Scenario 2
Scenario 3
SELECT count(*) FROM "AO_EB0AB3_STORED_FILTER" WHERE "NAME" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_TEAM" WHERE "NAME" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_USER" WHERE "FULL_NAME" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_USER" WHERE "JIRA_USERNAME" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_USER_ROLE" WHERE "ROLE_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_USER_TEAM" WHERE "TEAM_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_USER_TEAM" WHERE "USER_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_FEEDBACK_LABEL" WHERE "FEEDBACK_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_FEEDBACK_LABEL" WHERE "LABEL_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_FEEDBACK_SHARING" WHERE "USER_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_DISTRIBUTION" WHERE "END_DATE" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_DISTRIBUTION" WHERE "STATUS" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_DISTRIBUTION_USER" WHERE "FORM_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_DISTRIBUTION_USER" WHERE "STATUS" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_FIELD" WHERE "SEQUENCE_NO" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_FIELD" WHERE "SETTINGS" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_FIELD" WHERE "TYPE" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_FORM" WHERE "NAME" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_FORM" WHERE "SETTINGS" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_FORM" WHERE "STATUS" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_FORM_LABEL" WHERE "FORM_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_FORM_LABEL" WHERE "LABEL_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_GROUP_SCORE" WHERE "SECTION_SCORE_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OS_CURRENT_STEP" WHERE "ACTION_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OS_CURRENT_STEP" WHERE "STEP_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OS_CURRENT_STEP_PREV" WHERE "PREV_STEP_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OS_CURRENT_STEP_PREV" WHERE "STEP_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OS_HISTORY_STEP" WHERE "ACTION_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OS_HISTORY_STEP" WHERE "STEP_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OS_HISTORY_STEP_PREV" WHERE "PREV_STEP_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OS_HISTORY_STEP_PREV" WHERE "STEP_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_RESPONSE" WHERE "STATUS" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_RESPONSE_ANSWER" WHERE "IS_DRAFT" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OBJECTIVE" WHERE "CONF_STATUS_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OBJECTIVE" WHERE "OBJECTIVE_CYCLE_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OBJECTIVE" WHERE "START_DATE" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OBJECTIVE_COMMENT" WHERE "EVENT" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OBJECTIVE_COMMENT" WHERE "CREATOR" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OBJECTIVE_KEY_RESULT" WHERE "CONF_STATUS_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OBJECTIVE_KEY_RESULT" WHERE "FREQUENCY" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OBJECTIVE_KEY_RESULT" WHERE "INDEX_NO" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OBJECTIVE_LABEL" WHERE "LABEL_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OBJECTIVE_LABEL" WHERE "OBJECTIVE_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OBJECTIVE_LINK" WHERE "CONF_STATUS_ID" IS NULL AND "LINK_TYPE" IN (6,1);
SELECT count(*) FROM "AO_EB0AB3_OBJECTIVE_LINK" WHERE "INDEX_NO" IS NULL AND "LINK_TYPE" IN (6,1);
SELECT count(*) FROM "AO_EB0AB3_OBJECTIVE_LINK" WHERE "SOURCE_OKR_ID" IS NULL AND "LINK_TYPE" = 4;
SELECT count(*) FROM "AO_EB0AB3_COMMENT_SHARING" WHERE "OBJECTIVE_COMMENT_ID" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_COMMENT_SHARING" WHERE "USERNAME" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OBJECTIVE_CYCLE" WHERE "TITLE" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OBJECTIVE_CYCLE" WHERE "END_DATE" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OBJECTIVE_CYCLE" WHERE "GRADING_SETTINGS" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OBJECTIVE_CYCLE" WHERE "START_DATE" IS NULL;
SELECT count(*) FROM "AO_EB0AB3_OBJECTIVE_CYCLE" WHERE "STATUS" IS NULL; |
|
Scenario 4
SET NOCOUNT ON;
BEGIN TRANSACTION
BEGIN TRY
-- Adding a new temporary column
ALTER TABLE AO_EB0AB3_UP_HIST_STEP
ADD [new_ID] bigint NULL;
-- Updating the new column with the values sorted as we want
EXEC sp_executesql N'UPDATE AO_EB0AB3_UP_HIST_STEP SET [new_ID] = ID'
-- Setting the new column as NOT NULL
ALTER TABLE AO_EB0AB3_UP_HIST_STEP
ALTER COLUMN [new_ID] bigint NOT NULL;
-- Drop Primary Key
ALTER TABLE AO_EB0AB3_UP_HIST_STEP
DROP CONSTRAINT [pk_AO_EB0AB3_UP_HIST_STEP_ID]
-- Drop IDENTITY column
ALTER TABLE AO_EB0AB3_UP_HIST_STEP
DROP COLUMN [ID]
-- Rename column ID_EXENCION_NEW --> ID_EXENCION
EXEC sp_rename 'AO_EB0AB3_UP_HIST_STEP.new_ID', 'ID', 'COLUMN';
-- Add new Primary Key
ALTER TABLE AO_EB0AB3_UP_HIST_STEP
ADD CONSTRAINT [pk_AO_EB0AB3_UP_HIST_STEP_ID] PRIMARY KEY CLUSTERED
(
[ID] ASC
)
PRINT 'IDENTITY removed successfully'
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
PRINT 'ERROR:' + ERROR_MESSAGE()
END CATCH;
IF @@TRANCOUNT > 0
COMMIT TRANSACTION; |
|
Important points to know
Read & understand below points before trying the upgrade process. |
Migration log file can be found here - \jira\home\data\upraise\migration.log
Note that OKR IDs may be different in the older version of the app vs the new/migrated version. We do maintain a separate mapping in the table but the app won’t redirect old IDs to new IDs.
Once you successfully update to V 5.x and your team starts using this version, DO NOT downgrade to any version < V 5.x. Reach out to us if there are any urgent problems in V 5.x & we will help you proactively to solve them.
Notes on REST APIs
If you’ve been using UpRaise’s REST APIs, you will need to make a few minor changes to them when using any 5.x version. By & large, the changes to the APIs are minimal & ideally shouldn’t need any major changes to your implementation for consuming them.
Below section mentions only those items that are changed, other input parameters will continue to behave as before.