-- -- Turn off autocommit and start a transaction so that we can use the temp tables -- SET AUTOCOMMIT FALSE; START TRANSACTION; -- -- Insert scope information into the temporary tables. -- INSERT INTO system_scope_TEMP (scope, description, icon, restricted, default_scope) VALUES ('openid', 'log in using your identity', 'user', false, true), ('profile', 'basic profile information', 'list-alt', false, true), ('email', 'email address', 'envelope', false, true), ('address', 'physical address', 'home', false, true), ('phone', 'telephone number', 'bell', false, true), ('offline_access', 'offline access', 'time', false, false); -- -- Merge the temporary scopes safely into the database. This is a two-step process to keep scopes from being created on every startup with a persistent store. -- MERGE INTO system_scope USING (SELECT scope, description, icon, restricted, default_scope FROM system_scope_TEMP) AS vals(scope, description, icon, restricted, default_scope) ON vals.scope = system_scope.scope WHEN NOT MATCHED THEN INSERT (scope, description, icon, restricted, default_scope) VALUES(vals.scope, vals.description, vals.icon, vals.restricted, vals.default_scope); COMMIT; SET AUTOCOMMIT TRUE;