1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-02-19 00:15:43 +01:00

fix: cleanup data from v3.13.0-bug

This commit is contained in:
Ivar Conradi Østhus 2022-02-23 10:54:54 +01:00
parent 912ec8d90e
commit d52b68e918
No known key found for this signature in database
GPG Key ID: 31AC596886B0BD09
2 changed files with 69 additions and 0 deletions

View File

@ -0,0 +1,15 @@
'use strict';
exports.up = function (db, cb) {
db.runSql(
`
UPDATE roles set name='Admin' where name='Super User';
`,
cb,
);
};
exports.down = function (db, cb) {
// We can't just remove roles for users as we don't know if there has been any manual additions.
cb();
};

View File

@ -0,0 +1,54 @@
'use strict';
exports.up = function (db, cb) {
db.runSql(
`
DO $$
declare
begin
WITH editor AS (
SELECT * FROM roles WHERE name in ('Editor', 'Regular') LIMIT 1
)
INSERT INTO role_permission(role_id, project, permission)
VALUES
((SELECT id from editor), '', 'CREATE_STRATEGY'),
((SELECT id from editor), '', 'UPDATE_STRATEGY'),
((SELECT id from editor), '', 'DELETE_STRATEGY'),
((SELECT id from editor), '', 'UPDATE_APPLICATION'),
((SELECT id from editor), '', 'CREATE_CONTEXT_FIELD'),
((SELECT id from editor), '', 'UPDATE_CONTEXT_FIELD'),
((SELECT id from editor), '', 'DELETE_CONTEXT_FIELD'),
((SELECT id from editor), '', 'CREATE_PROJECT'),
((SELECT id from editor), '', 'CREATE_ADDON'),
((SELECT id from editor), '', 'UPDATE_ADDON'),
((SELECT id from editor), '', 'DELETE_ADDON'),
((SELECT id from editor), 'default', 'UPDATE_PROJECT'),
((SELECT id from editor), 'default', 'DELETE_PROJECT'),
((SELECT id from editor), 'default', 'CREATE_FEATURE'),
((SELECT id from editor), 'default', 'UPDATE_FEATURE'),
((SELECT id from editor), 'default', 'DELETE_FEATURE');
-- Clean up duplicates
DELETE FROM role_permission p1
USING role_permission p2
WHERE p1.created_at < p2.created_at -- select the "older" ones
AND p1.project = p2.project -- list columns that define duplicates
AND p1.permission = p2.permission;
EXCEPTION WHEN OTHERS THEN
raise notice 'Ignored';
end;
$$;`,
cb,
);
};
exports.down = function (db, cb) {
// We can't just remove roles for users as we don't know if there has been any manual additions.
cb();
};