|
|
|
@ -1,54 +1,64 @@
|
|
|
|
|
--
|
|
|
|
|
-- Turn off autocommit and start a transaction so that we can use the temp tables
|
|
|
|
|
--
|
|
|
|
|
|
|
|
|
|
SET AUTOCOMMIT FALSE;
|
|
|
|
|
|
|
|
|
|
START TRANSACTION;
|
|
|
|
|
|
|
|
|
|
--
|
|
|
|
|
-- Insert user information into the temporary tables. To add users to the HSQL database, edit things here.
|
|
|
|
|
--
|
|
|
|
|
|
|
|
|
|
INSERT INTO users_TEMP (username, password, enabled) VALUES
|
|
|
|
|
('jricher', 'password', true),
|
|
|
|
|
('aanganes','password',true),
|
|
|
|
|
('mfranklin','password',true),
|
|
|
|
|
('srmoore','password',true);
|
|
|
|
|
|
|
|
|
|
INSERT INTO authorities_TEMP (username, authority) VALUES
|
|
|
|
|
('jricher', 'ROLE_ADMIN'),
|
|
|
|
|
('aanganes','ROLE_ADMIN'),
|
|
|
|
|
('jricher', 'ROLE_USER'),
|
|
|
|
|
('aanganes','ROLE_USER'),
|
|
|
|
|
('mfranklin','ROLE_USER'),
|
|
|
|
|
('srmoore','ROLE_USER');
|
|
|
|
|
|
|
|
|
|
INSERT INTO user_info_TEMP (user_id, preferred_username, name, email, email_verified) VALUES
|
|
|
|
|
('user1-abc123', 'jricher', 'Justin Richer', 'jricher@mitre.org', false),
|
|
|
|
|
('user2-xj2f51', 'aanganes', 'Amanda Anganes', 'aanganes@mitre.org', false),
|
|
|
|
|
('user3-2je938', 'mfranklin', 'Matt Franklin', 'mfranklin@mitre.org', false),
|
|
|
|
|
('user4-l2ww33', 'srmoore', 'Steve Moore', 'srmoore@mitre.org', false);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--
|
|
|
|
|
-- Merge the temporary users safely into the database. This is a two-step process to keep users from being created on every startup with a persistent store.
|
|
|
|
|
--
|
|
|
|
|
|
|
|
|
|
MERGE INTO users
|
|
|
|
|
USING (VALUES ('jricher','password',true)) AS vals(username, password, enabled)
|
|
|
|
|
USING (SELECT username, password, enabled FROM users_TEMP) AS vals(username, password, enabled)
|
|
|
|
|
ON vals.username = users.username
|
|
|
|
|
WHEN NOT MATCHED THEN
|
|
|
|
|
INSERT (username, password, enabled) VALUES(vals.username, vals.password, vals.enabled);
|
|
|
|
|
|
|
|
|
|
CREATE TEMPORARY TABLE authorities_TEMP (
|
|
|
|
|
username varchar(50) not null,
|
|
|
|
|
authority varchar(50) not null,
|
|
|
|
|
constraint ix_authority_TEMP unique (username,authority));
|
|
|
|
|
|
|
|
|
|
INSERT INTO authorities_TEMP (username, authority) VALUES
|
|
|
|
|
('jricher', 'ROLE_USER'),
|
|
|
|
|
('jricher', 'ROLE_ADMIN'),
|
|
|
|
|
('jricher', 'ROLE_AWESOME');
|
|
|
|
|
|
|
|
|
|
MERGE INTO authorities
|
|
|
|
|
-- USING (VALUES ('jricher', CAST('ROLE_USER' AS varchar(50))), ('jricher', CAST('ROLE_ADMIN' AS varchar(50))), ('jricher', CAST('ROLE_AWESOME' AS varchar(50)))) AS vals(username, authority)
|
|
|
|
|
-- USING (VALUES ('jricher', 'ROLE_USER'), ('jricher', 'ROLE_ADMIN'), ('jricher', 'ROLE_AWESOME')) AS vals(username varchar(50), authority varchar(50))
|
|
|
|
|
USING (SELECT username, authority FROM authorities_TEMP) AS vals(username, authority)
|
|
|
|
|
ON vals.username = authorities.username AND vals.authority = authorities.authority
|
|
|
|
|
WHEN NOT MATCHED THEN
|
|
|
|
|
INSERT (username,authority) values (vals.username, vals.authority);
|
|
|
|
|
|
|
|
|
|
DROP TABLE authorities_TEMP;
|
|
|
|
|
|
|
|
|
|
--INSERT INTO authorities (username, authority) VALUES ('jricher', 'ROLE_USER'), ('jricher', 'ROLE_ADMIN');
|
|
|
|
|
|
|
|
|
|
MERGE INTO user_info
|
|
|
|
|
USING (VALUES('user1-abc123', 'jricher', 'Justin Richer', false)) AS vals(user_id, preferred_username, name, email_verified)
|
|
|
|
|
USING (SELECT user_id, preferred_username, name, email, email_verified FROM user_info_TEMP) AS vals(user_id, preferred_username, name, email, email_verified)
|
|
|
|
|
ON vals.preferred_username = user_info.preferred_username
|
|
|
|
|
WHEN NOT MATCHED THEN
|
|
|
|
|
INSERT (user_id, preferred_username, name, email_verified) VALUES (vals.user_id, vals.preferred_username, vals.name, vals.email_verified);
|
|
|
|
|
INSERT (user_id, preferred_username, name, email, email_verified) VALUES (vals.user_id, vals.preferred_username, vals.name, vals.email, vals.email_verified);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--
|
|
|
|
|
-- Close the transaction and turn autocommit back on
|
|
|
|
|
--
|
|
|
|
|
|
|
|
|
|
COMMIT;
|
|
|
|
|
|
|
|
|
|
SET AUTOCOMMIT TRUE;
|
|
|
|
|
|
|
|
|
|
--INSERT INTO users(username, password, enabled) values ('aanganes','password',true) where not exists (select * from user_info where username='aanganes');
|
|
|
|
|
--INSERT INTO authorities(username,authority) values ('aanganes','ROLE_USER') where not exists (select * from user_info where username='aanganes');
|
|
|
|
|
--INSERT INTO authorities(username,authority) values ('aanganes','ROLE_ADMIN') where not exists (select * from user_info where username='aanganes');
|
|
|
|
|
--INSERT INTO user_info(user_id, preferred_username, name, email_verified) values ('aanganes','aanganes','aanganes', 'FALSE') where not exists (select * from user_info where username='aanganes');
|
|
|
|
|
--
|
|
|
|
|
--INSERT INTO users(username, password, enabled) values ('mfranklin','password',true) where not exists (select * from user_info where username='mfranklin');
|
|
|
|
|
--INSERT INTO authorities(username,authority) values ('mfranklin','ROLE_USER') where not exists (select * from user_info where username='mfranklin');
|
|
|
|
|
--INSERT INTO user_info(user_id, preferred_username, name, email_verified) values ('mfranklin','mfranklin','mfranklin', 'FALSE') where not exists (select * from user_info where username='mfranklin');
|
|
|
|
|
--
|
|
|
|
|
--INSERT INTO users(username, password, enabled) values ('srmoore','password',true) where not exists (select * from user_info where username='srmoore');
|
|
|
|
|
--INSERT INTO authorities(username,authority) values ('srmoore','ROLE_USER') where not exists (select * from user_info where username='srmoore');
|
|
|
|
|
--INSERT INTO user_info(user_id, preferred_username, name, email_verified) values ('srmoore','srmoore','srmoore', 'FALSE') where not exists (select * from user_info where username='srmoore');
|
|
|
|
|