Skip to content

Commit ffb17d4

Browse files
authored
fix: features table migrations in 20220603081324-add-archive-at-to-fea… (#9518)
Changes to migration file - 20220603081324-add-archive-at-to-feature-toggle.js 1. Fixes the migration script where features table is updated with archived_at column with the latest date instead of taking the date from the events table. 2. Also it fails for the latest toggle which was archived and then revived but after migration it updates the toggle as archived toggle. 3. Also because of the buggy reference to the outer join's events table `e` its taking a huge time to run the migration. This PR fixes all the above issues. ## About the changes We have faced an issue during migration of unleash-server from 4.8.2 to 6.6.0 where one of our toggle which was archived and unarchived once before migration and that was the latest toggle in terms of the archived date, but after the migration was ran it was in archived status. Upon further debugging and running the SQL command in the features table migration file we noticed that we should not be referencing the outer join's events table `e` for the feature_name check and additionally we should add the features table's archived toggle check instead. ### Important files The change in only in this file. [20220603081324-add-archive-at-to-feature-toggle.js](https://github.com/Unleash/unleash/pull/9518/files#diff-b91c299b96edc46ca3a1963bf54966aa777c9fa107f3bd8b45f5fb54dc57460e) ## Discussion points Let me know if any further details is required.
1 parent c09afa3 commit ffb17d4

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/migrations/20220603081324-add-archive-at-to-feature-toggle.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ exports.up = function (db, callback) {
1414
(SELECT Max(created_at) date
1515
FROM events
1616
WHERE type = 'feature-archived'
17-
AND e.feature_name = f.NAME)) res
17+
AND feature_name = f.NAME
18+
AND f.archived = 't')) res
1819
WHERE res.NAME = f.NAME;
1920
UPDATE features
2021
SET archived_at = Now()

0 commit comments

Comments
 (0)