Files
vpd-permission-poc/database/adb/70_sg_tool_user.sql

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;