-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Alter and simplify user-group related tables (#763)
Change-Id: Ia09a69e7f7a6e922283b6a113dcaaf4a7eac51f8
- Loading branch information
1 parent
1df4f6d
commit 76b2e06
Showing
4 changed files
with
217 additions
and
132 deletions.
There are no files selected for viewing
54 changes: 27 additions & 27 deletions
54
src/main/resources/db/predefined/V2.1__insert_predefined_roles.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,28 +1,28 @@ | ||
-- roles | ||
INSERT INTO role(name) VALUES ("USER_GROUP_ADMIN"); | ||
INSERT INTO role(name) VALUES ("USER_GROUP_MEMBER"); | ||
INSERT INTO role(name) VALUES ("VC_ACCESS_ADMIN"); | ||
INSERT INTO role(name) VALUES ("VC_ACCESS_MEMBER"); | ||
INSERT INTO role(name) VALUES ("QUERY_ACCESS_ADMIN"); | ||
INSERT INTO role(name) VALUES ("QUERY_ACCESS_MEMBER"); | ||
---- roles | ||
--INSERT INTO role(name) VALUES ("USER_GROUP_ADMIN"); | ||
--INSERT INTO role(name) VALUES ("USER_GROUP_MEMBER"); | ||
--INSERT INTO role(name) VALUES ("VC_ACCESS_ADMIN"); | ||
--INSERT INTO role(name) VALUES ("VC_ACCESS_MEMBER"); | ||
--INSERT INTO role(name) VALUES ("QUERY_ACCESS_ADMIN"); | ||
--INSERT INTO role(name) VALUES ("QUERY_ACCESS_MEMBER"); | ||
|
||
-- privileges | ||
INSERT INTO privilege(name,role_id) | ||
VALUES("READ", 1); | ||
INSERT INTO privilege(name,role_id) | ||
VALUES("WRITE", 1); | ||
INSERT INTO privilege(name,role_id) | ||
VALUES("DELETE", 1); | ||
|
||
INSERT INTO privilege(name,role_id) | ||
VALUES("DELETE",2); | ||
|
||
INSERT INTO privilege(name,role_id) | ||
VALUES("READ",3); | ||
INSERT INTO privilege(name,role_id) | ||
VALUES("WRITE",3); | ||
INSERT INTO privilege(name,role_id) | ||
VALUES("DELETE",3); | ||
|
||
INSERT INTO privilege(name,role_id) | ||
VALUES("READ",4); | ||
---- privileges | ||
--INSERT INTO privilege(name,role_id) | ||
-- VALUES("READ", 1); | ||
--INSERT INTO privilege(name,role_id) | ||
-- VALUES("WRITE", 1); | ||
--INSERT INTO privilege(name,role_id) | ||
-- VALUES("DELETE", 1); | ||
-- | ||
--INSERT INTO privilege(name,role_id) | ||
-- VALUES("DELETE",2); | ||
-- | ||
--INSERT INTO privilege(name,role_id) | ||
-- VALUES("READ",3); | ||
--INSERT INTO privilege(name,role_id) | ||
-- VALUES("WRITE",3); | ||
--INSERT INTO privilege(name,role_id) | ||
-- VALUES("DELETE",3); | ||
-- | ||
--INSERT INTO privilege(name,role_id) | ||
-- VALUES("READ",4); |
85 changes: 85 additions & 0 deletions
85
src/main/resources/db/sqlite/V1.13__user_group_alteration.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
--DROP INDEX IF EXISTS group_member_role_index; | ||
--DROP INDEX IF EXISTS user_group_member_index; | ||
DROP INDEX IF EXISTS user_group_member_status_index; | ||
DROP INDEX IF EXISTS role_index; | ||
|
||
-- please commented out the triggers in V1.2__triggers.sql later | ||
--DROP TRIGGER IF EXISTS insert_member_status; | ||
--DROP TRIGGER IF EXISTS update_member_status; | ||
--DROP TRIGGER IF EXISTS delete_member; | ||
|
||
--ALTER TABLE user_group | ||
--DROP COLUMN deleted_by; | ||
-- | ||
ALTER TABLE user_group | ||
ADD COLUMN created_date TIMESTAMP; | ||
-- | ||
--ALTER TABLE user_group_member | ||
--DROP COLUMN created_by; | ||
-- | ||
--ALTER TABLE user_group_member | ||
--DROP COLUMN deleted_by; | ||
-- | ||
--ALTER TABLE user_group_member | ||
--DROP COLUMN status; | ||
-- | ||
--ALTER TABLE user_group_member | ||
--DROP COLUMN status_date; | ||
|
||
|
||
CREATE TABLE IF NOT EXISTS role_new ( | ||
id INTEGER PRIMARY KEY AUTOINCREMENT, | ||
name VARCHAR(100) NOT NULL, | ||
privilege VARCHAR(100) NOT NULL, | ||
group_id INTEGER, | ||
query_id INTEGER, | ||
FOREIGN KEY (group_id) | ||
REFERENCES user_group (id) | ||
ON DELETE CASCADE | ||
FOREIGN KEY (query_id) | ||
REFERENCES query (id) | ||
ON DELETE CASCADE | ||
); | ||
|
||
INSERT INTO role_new (name, privilege, group_id, query_id) | ||
SELECT DISTINCT r.name || '_' || p.name, p.name, ug.id, qa.query_id | ||
FROM user_group ug | ||
JOIN query_access qa ON ug.id=qa.user_group_id | ||
JOIN user_group_member ugm ON ugm.group_id = ug.id | ||
JOIN group_member_role gmr ON gmr.group_member_id = ugm.id | ||
JOIN role r ON gmr.role_id = r.id | ||
JOIN privilege p ON p.role_id = r.id; | ||
|
||
--CREATE TABLE IF NOT EXISTS user_role ( | ||
-- id INTEGER PRIMARY KEY AUTOINCREMENT, | ||
-- user_id VARCHAR(100) NOT NULL, | ||
-- status VARCHAR(100) NOT NULL, | ||
-- role_id INTEGER, | ||
-- FOREIGN KEY (role_id) | ||
-- REFERENCES role_new (id) | ||
-- ON DELETE CASCADE | ||
--); | ||
-- | ||
--INSERT INTO user_role (user_id,status,role_id) | ||
--SELECT ugm.user_id, ugm.status, rn.id | ||
-- FROM query_access qa | ||
-- JOIN user_group_member ugm ON ugm.group_id = qa.user_group_id | ||
-- JOIN group_member_role gmr ON gmr.group_member_id = ugm.id | ||
-- JOIN role r ON gmr.role_id = r.id | ||
-- JOIN privilege p ON p.role_id = r.id | ||
-- JOIN role_new rn | ||
-- where r.name || '_' || p.name = rn.name | ||
-- and rn.group_id=qa.user_group_id; | ||
|
||
DROP INDEX IF EXISTS privilege_index; | ||
DROP INDEX IF EXISTS virtual_corpus_access_unique_index; | ||
DROP INDEX IF EXISTS virtual_corpus_status_index; | ||
|
||
DROP TABLE role; | ||
|
||
ALTER TABLE role_new RENAME TO role; | ||
|
||
DROP TABLE privilege; | ||
--DROP TABLE group_member_role; | ||
--DROP TABLE query_access; | ||
--DROP TABLE user_group_member; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,52 +1,52 @@ | ||
-- member roles | ||
|
||
-- marlin group | ||
INSERT INTO group_member_role(group_member_id,role_id) | ||
SELECT | ||
(SELECT id FROM user_group_member WHERE user_id="marlin" AND group_id=1), | ||
(SELECT id FROM role WHERE name = "USER_GROUP_ADMIN"); | ||
|
||
INSERT INTO group_member_role(group_member_id,role_id) | ||
SELECT | ||
(SELECT id FROM user_group_member WHERE user_id="marlin" AND group_id=1), | ||
(SELECT id FROM role WHERE name = "VC_ACCESS_ADMIN"); | ||
|
||
INSERT INTO group_member_role(group_member_id,role_id) | ||
SELECT | ||
(SELECT id FROM user_group_member WHERE user_id="dory" AND group_id=1), | ||
(SELECT id FROM role WHERE name = "USER_GROUP_ADMIN"); | ||
|
||
INSERT INTO group_member_role(group_member_id,role_id) | ||
SELECT | ||
(SELECT id FROM user_group_member WHERE user_id="dory" AND group_id=1), | ||
(SELECT id FROM role WHERE name = "VC_ACCESS_ADMIN"); | ||
--INSERT INTO group_member_role(group_member_id,role_id) | ||
--SELECT | ||
-- (SELECT id FROM user_group_member WHERE user_id="marlin" AND group_id=1), | ||
-- (SELECT id FROM role WHERE name = "USER_GROUP_ADMIN"); | ||
-- | ||
--INSERT INTO group_member_role(group_member_id,role_id) | ||
--SELECT | ||
-- (SELECT id FROM user_group_member WHERE user_id="marlin" AND group_id=1), | ||
-- (SELECT id FROM role WHERE name = "VC_ACCESS_ADMIN"); | ||
-- | ||
--INSERT INTO group_member_role(group_member_id,role_id) | ||
--SELECT | ||
-- (SELECT id FROM user_group_member WHERE user_id="dory" AND group_id=1), | ||
-- (SELECT id FROM role WHERE name = "USER_GROUP_ADMIN"); | ||
-- | ||
--INSERT INTO group_member_role(group_member_id,role_id) | ||
--SELECT | ||
-- (SELECT id FROM user_group_member WHERE user_id="dory" AND group_id=1), | ||
-- (SELECT id FROM role WHERE name = "VC_ACCESS_ADMIN"); | ||
|
||
|
||
-- dory group | ||
INSERT INTO group_member_role(group_member_id,role_id) | ||
SELECT | ||
(SELECT id FROM user_group_member WHERE user_id="dory" AND group_id=2), | ||
(SELECT id FROM role WHERE name = "USER_GROUP_ADMIN"); | ||
|
||
INSERT INTO group_member_role(group_member_id,role_id) | ||
SELECT | ||
(SELECT id FROM user_group_member WHERE user_id="dory" AND group_id=2), | ||
(SELECT id FROM role WHERE name = "VC_ACCESS_ADMIN"); | ||
|
||
INSERT INTO group_member_role(group_member_id,role_id) | ||
SELECT | ||
(SELECT id FROM user_group_member WHERE user_id="nemo" AND group_id=2), | ||
(SELECT id FROM role WHERE name = "USER_GROUP_MEMBER"); | ||
|
||
INSERT INTO group_member_role(group_member_id,role_id) | ||
SELECT | ||
(SELECT id FROM user_group_member WHERE user_id="nemo" AND group_id=2), | ||
(SELECT id FROM role WHERE name = "VC_ACCESS_MEMBER"); | ||
--INSERT INTO group_member_role(group_member_id,role_id) | ||
--SELECT | ||
-- (SELECT id FROM user_group_member WHERE user_id="dory" AND group_id=2), | ||
-- (SELECT id FROM role WHERE name = "USER_GROUP_ADMIN"); | ||
-- | ||
--INSERT INTO group_member_role(group_member_id,role_id) | ||
--SELECT | ||
-- (SELECT id FROM user_group_member WHERE user_id="dory" AND group_id=2), | ||
-- (SELECT id FROM role WHERE name = "VC_ACCESS_ADMIN"); | ||
-- | ||
--INSERT INTO group_member_role(group_member_id,role_id) | ||
--SELECT | ||
-- (SELECT id FROM user_group_member WHERE user_id="nemo" AND group_id=2), | ||
-- (SELECT id FROM role WHERE name = "USER_GROUP_MEMBER"); | ||
-- | ||
--INSERT INTO group_member_role(group_member_id,role_id) | ||
--SELECT | ||
-- (SELECT id FROM user_group_member WHERE user_id="nemo" AND group_id=2), | ||
-- (SELECT id FROM role WHERE name = "VC_ACCESS_MEMBER"); | ||
|
||
|
||
-- auto group | ||
INSERT INTO group_member_role(group_member_id,role_id) | ||
SELECT | ||
(SELECT id FROM user_group_member WHERE user_id="pearl" AND group_id=3), | ||
(SELECT id FROM role WHERE name = "VC_ACCESS_MEMBER"); | ||
--INSERT INTO group_member_role(group_member_id,role_id) | ||
--SELECT | ||
-- (SELECT id FROM user_group_member WHERE user_id="pearl" AND group_id=3), | ||
-- (SELECT id FROM role WHERE name = "VC_ACCESS_MEMBER"); | ||
|