коммит произвёл
GitHub
родитель
073bd3a6b7
Коммит
9408b98025
@@ -0,0 +1,14 @@
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE table_name = 'Roles'
|
||||
AND table_schema = DATABASE()
|
||||
AND column_name = 'SchemeId'
|
||||
) > 0,
|
||||
'ALTER TABLE Roles DROP COLUMN SchemeId;',
|
||||
'SELECT 1'
|
||||
));
|
||||
|
||||
PREPARE dropColumnIfExists FROM @preparedStatement;
|
||||
EXECUTE dropColumnIfExists;
|
||||
DEALLOCATE PREPARE dropColumnIfExists;
|
||||
@@ -0,0 +1,14 @@
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE table_name = 'Roles'
|
||||
AND table_schema = DATABASE()
|
||||
AND column_name = 'SchemeId'
|
||||
) > 0,
|
||||
'SELECT 1',
|
||||
'ALTER TABLE Roles ADD COLUMN SchemeId varchar(26);'
|
||||
));
|
||||
|
||||
PREPARE addColumnIfNotExists FROM @preparedStatement;
|
||||
EXECUTE addColumnIfNotExists;
|
||||
DEALLOCATE PREPARE addColumnIfNotExists;
|
||||
@@ -0,0 +1 @@
|
||||
UPDATE Roles SET SchemeId = NULL;
|
||||
@@ -0,0 +1,19 @@
|
||||
UPDATE Roles r
|
||||
INNER JOIN (
|
||||
SELECT role_name, MIN(scheme_id) AS scheme_id
|
||||
FROM (
|
||||
SELECT Id AS scheme_id, DefaultTeamAdminRole AS role_name FROM Schemes
|
||||
UNION ALL SELECT Id, DefaultTeamUserRole FROM Schemes
|
||||
UNION ALL SELECT Id, DefaultTeamGuestRole FROM Schemes
|
||||
UNION ALL SELECT Id, DefaultChannelAdminRole FROM Schemes
|
||||
UNION ALL SELECT Id, DefaultChannelUserRole FROM Schemes
|
||||
UNION ALL SELECT Id, DefaultChannelGuestRole FROM Schemes
|
||||
UNION ALL SELECT Id, DefaultPlaybookAdminRole FROM Schemes
|
||||
UNION ALL SELECT Id, DefaultPlaybookMemberRole FROM Schemes
|
||||
UNION ALL SELECT Id, DefaultRunAdminRole FROM Schemes
|
||||
UNION ALL SELECT Id, DefaultRunMemberRole FROM Schemes
|
||||
) expanded
|
||||
WHERE role_name IS NOT NULL AND role_name <> ''
|
||||
GROUP BY role_name
|
||||
) m ON r.Name = m.role_name
|
||||
SET r.SchemeId = m.scheme_id;
|
||||
@@ -0,0 +1,14 @@
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.STATISTICS
|
||||
WHERE table_name = 'Roles'
|
||||
AND table_schema = DATABASE()
|
||||
AND index_name = 'idx_roles_scheme_id'
|
||||
) > 0,
|
||||
'DROP INDEX idx_roles_scheme_id ON Roles;',
|
||||
'SELECT 1'
|
||||
));
|
||||
|
||||
PREPARE removeIndexIfExists FROM @preparedStatement;
|
||||
EXECUTE removeIndexIfExists;
|
||||
DEALLOCATE PREPARE removeIndexIfExists;
|
||||
@@ -0,0 +1,14 @@
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.STATISTICS
|
||||
WHERE table_name = 'Roles'
|
||||
AND table_schema = DATABASE()
|
||||
AND index_name = 'idx_roles_scheme_id'
|
||||
) > 0,
|
||||
'SELECT 1',
|
||||
'CREATE INDEX idx_roles_scheme_id ON Roles(SchemeId);'
|
||||
));
|
||||
|
||||
PREPARE createIndexIfNotExists FROM @preparedStatement;
|
||||
EXECUTE createIndexIfNotExists;
|
||||
DEALLOCATE PREPARE createIndexIfNotExists;
|
||||
Ссылка в новой задаче
Block a user