47
database/adb/70_sg_tool_user.sql
Normal file
47
database/adb/70_sg_tool_user.sql
Normal file
@@ -0,0 +1,47 @@
|
||||
-- Smilegate PoC backoffice users. These are tool operators, not game players.
|
||||
|
||||
declare
|
||||
table_missing exception;
|
||||
pragma exception_init(table_missing, -955);
|
||||
begin
|
||||
execute immediate q'[
|
||||
create table sg_tool_user (
|
||||
user_id varchar2(100) not null,
|
||||
user_nm varchar2(200) not null,
|
||||
role_code varchar2(30) not null,
|
||||
password_hash varchar2(200) not null,
|
||||
enabled_yn char(1) default 'Y' not null,
|
||||
created_at timestamp default systimestamp not null,
|
||||
updated_at timestamp default systimestamp not null,
|
||||
constraint sg_tool_user_pk primary key (user_id),
|
||||
constraint sg_tool_user_role_ck check (role_code in ('TEAM_LEAD', 'TEAM_MEMBER')),
|
||||
constraint sg_tool_user_enabled_ck check (enabled_yn in ('Y', 'N'))
|
||||
)
|
||||
]';
|
||||
exception
|
||||
when table_missing then null;
|
||||
end;
|
||||
/
|
||||
|
||||
merge into sg_tool_user target
|
||||
using (
|
||||
select 'sg-teamlead' as user_id, 'SG Demo Team Lead' as user_nm,
|
||||
'TEAM_LEAD' as role_code,
|
||||
'{bcrypt}$2y$12$esdNRjiRo3ZxBnUGD1xrjuIFjCeCWcxlksDfdZpeImTsVtIdh/IJe' as password_hash
|
||||
from dual
|
||||
union all
|
||||
select 'sg-member', 'SG Demo Team Member', 'TEAM_MEMBER',
|
||||
'{bcrypt}$2y$12$esdNRjiRo3ZxBnUGD1xrjuIFjCeCWcxlksDfdZpeImTsVtIdh/IJe'
|
||||
from dual
|
||||
) source
|
||||
on (target.user_id = source.user_id)
|
||||
when matched then update set
|
||||
target.user_nm = source.user_nm,
|
||||
target.role_code = source.role_code,
|
||||
target.password_hash = source.password_hash,
|
||||
target.enabled_yn = 'Y',
|
||||
target.updated_at = systimestamp
|
||||
when not matched then insert (user_id, user_nm, role_code, password_hash, enabled_yn)
|
||||
values (source.user_id, source.user_nm, source.role_code, source.password_hash, 'Y');
|
||||
|
||||
commit;
|
||||
Reference in New Issue
Block a user