48 lines
1.7 KiB
MySQL
48 lines
1.7 KiB
MySQL
-- 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;
|