218 lines
7.6 KiB
PL/PgSQL
218 lines
7.6 KiB
PL/PgSQL
BEGIN;
|
|
|
|
CREATE SCHEMA IF NOT EXISTS identity;
|
|
|
|
CREATE TABLE IF NOT EXISTS identity.company
|
|
(LIKE public.company INCLUDING ALL);
|
|
|
|
CREATE TABLE IF NOT EXISTS identity.company_branch
|
|
(LIKE public.company_branch INCLUDING ALL);
|
|
|
|
CREATE TABLE IF NOT EXISTS identity.user_group
|
|
(LIKE public.user_group INCLUDING ALL);
|
|
|
|
CREATE TABLE IF NOT EXISTS identity.app_user
|
|
(LIKE public.app_user INCLUDING ALL);
|
|
|
|
CREATE TABLE IF NOT EXISTS identity.pages
|
|
(LIKE public.pages INCLUDING ALL);
|
|
|
|
CREATE TABLE IF NOT EXISTS identity.permission
|
|
(LIKE public.permission INCLUDING ALL);
|
|
|
|
CREATE TABLE IF NOT EXISTS identity.denied_pages
|
|
(LIKE public.denied_pages INCLUDING ALL);
|
|
|
|
CREATE TABLE IF NOT EXISTS identity.user_loginhistory
|
|
(LIKE public.user_loginhistory INCLUDING ALL);
|
|
|
|
CREATE SEQUENCE IF NOT EXISTS identity.app_user_user_id_seq
|
|
AS smallint MAXVALUE 32767;
|
|
CREATE SEQUENCE IF NOT EXISTS identity.company_company_id_seq
|
|
AS smallint MAXVALUE 32767;
|
|
CREATE SEQUENCE IF NOT EXISTS identity.company_branch_branch_id_seq
|
|
AS smallint MAXVALUE 32767;
|
|
CREATE SEQUENCE IF NOT EXISTS identity.user_group_group_id_seq
|
|
AS smallint MAXVALUE 32767;
|
|
CREATE SEQUENCE IF NOT EXISTS identity.pages_page_id_seq
|
|
AS smallint MAXVALUE 32767;
|
|
CREATE SEQUENCE IF NOT EXISTS identity.permission_permission_id_seq
|
|
AS integer;
|
|
CREATE SEQUENCE IF NOT EXISTS identity.denied_pages_uid_seq
|
|
AS integer;
|
|
CREATE SEQUENCE IF NOT EXISTS identity.user_loginhistory_uid_seq
|
|
AS bigint;
|
|
|
|
ALTER TABLE identity.app_user
|
|
ALTER COLUMN user_id SET DEFAULT nextval('identity.app_user_user_id_seq');
|
|
ALTER TABLE identity.company
|
|
ALTER COLUMN company_id SET DEFAULT nextval('identity.company_company_id_seq');
|
|
ALTER TABLE identity.company_branch
|
|
ALTER COLUMN branch_id SET DEFAULT nextval('identity.company_branch_branch_id_seq');
|
|
ALTER TABLE identity.user_group
|
|
ALTER COLUMN group_id SET DEFAULT nextval('identity.user_group_group_id_seq');
|
|
ALTER TABLE identity.pages
|
|
ALTER COLUMN page_id SET DEFAULT nextval('identity.pages_page_id_seq');
|
|
ALTER TABLE identity.permission
|
|
ALTER COLUMN permission_id SET DEFAULT nextval('identity.permission_permission_id_seq');
|
|
ALTER TABLE identity.denied_pages
|
|
ALTER COLUMN uid SET DEFAULT nextval('identity.denied_pages_uid_seq');
|
|
ALTER TABLE identity.user_loginhistory
|
|
ALTER COLUMN uid SET DEFAULT nextval('identity.user_loginhistory_uid_seq');
|
|
ALTER TABLE identity.user_loginhistory
|
|
ALTER COLUMN ipaddr TYPE character varying(45);
|
|
|
|
INSERT INTO identity.company
|
|
SELECT * FROM public.company
|
|
ON CONFLICT (company_id) DO UPDATE SET
|
|
companyname = EXCLUDED.companyname,
|
|
companycode = EXCLUDED.companycode,
|
|
servicetaxno = EXCLUDED.servicetaxno,
|
|
panno = EXCLUDED.panno,
|
|
createdon = EXCLUDED.createdon,
|
|
isactive = EXCLUDED.isactive,
|
|
cinno = EXCLUDED.cinno;
|
|
|
|
INSERT INTO identity.company_branch
|
|
SELECT * FROM public.company_branch
|
|
ON CONFLICT (branch_id) DO UPDATE SET
|
|
company_id = EXCLUDED.company_id,
|
|
branchname = EXCLUDED.branchname,
|
|
branchcode = EXCLUDED.branchcode,
|
|
address1 = EXCLUDED.address1,
|
|
address2 = EXCLUDED.address2,
|
|
address3 = EXCLUDED.address3,
|
|
city = EXCLUDED.city,
|
|
pincode = EXCLUDED.pincode,
|
|
landlineno = EXCLUDED.landlineno,
|
|
faxno = EXCLUDED.faxno,
|
|
emailid = EXCLUDED.emailid,
|
|
contactperson1 = EXCLUDED.contactperson1,
|
|
contactno1 = EXCLUDED.contactno1,
|
|
emailid1 = EXCLUDED.emailid1,
|
|
contactperson2 = EXCLUDED.contactperson2,
|
|
contactno2 = EXCLUDED.contactno2,
|
|
emailid2 = EXCLUDED.emailid2,
|
|
isactive = EXCLUDED.isactive,
|
|
createdon = EXCLUDED.createdon,
|
|
gstin = EXCLUDED.gstin,
|
|
cgst = EXCLUDED.cgst,
|
|
sgst = EXCLUDED.sgst,
|
|
igst = EXCLUDED.igst;
|
|
|
|
INSERT INTO identity.user_group
|
|
SELECT * FROM public.user_group
|
|
ON CONFLICT (group_id) DO UPDATE SET
|
|
name = EXCLUDED.name,
|
|
department_id = EXCLUDED.department_id,
|
|
createdon = EXCLUDED.createdon,
|
|
createdby = EXCLUDED.createdby,
|
|
lasteditedon = EXCLUDED.lasteditedon,
|
|
lasteditedby = EXCLUDED.lasteditedby,
|
|
isactive = EXCLUDED.isactive;
|
|
|
|
INSERT INTO identity.app_user
|
|
SELECT * FROM public.app_user
|
|
ON CONFLICT (user_id) DO UPDATE SET
|
|
loginid = EXCLUDED.loginid,
|
|
displayname = EXCLUDED.displayname,
|
|
loginpassword = EXCLUDED.loginpassword,
|
|
group_id = EXCLUDED.group_id,
|
|
createdon = EXCLUDED.createdon,
|
|
createdby = EXCLUDED.createdby,
|
|
activatedon = EXCLUDED.activatedon,
|
|
activatedby = EXCLUDED.activatedby,
|
|
lasteditedon = EXCLUDED.lasteditedon,
|
|
lasteditedby = EXCLUDED.lasteditedby,
|
|
branch_id = EXCLUDED.branch_id,
|
|
company_id = EXCLUDED.company_id,
|
|
isactive = EXCLUDED.isactive,
|
|
team_id = EXCLUDED.team_id,
|
|
emailid = EXCLUDED.emailid,
|
|
entry_time = EXCLUDED.entry_time;
|
|
|
|
INSERT INTO identity.pages
|
|
SELECT * FROM public.pages
|
|
ON CONFLICT (page_id) DO UPDATE SET
|
|
menulabel = EXCLUDED.menulabel,
|
|
targeturl = EXCLUDED.targeturl,
|
|
parentpage = EXCLUDED.parentpage,
|
|
targetwindow = EXCLUDED.targetwindow,
|
|
pageorder = EXCLUDED.pageorder,
|
|
isvisible = EXCLUDED.isvisible;
|
|
|
|
INSERT INTO identity.permission
|
|
SELECT * FROM public.permission
|
|
ON CONFLICT (permission_id) DO UPDATE SET
|
|
page_id = EXCLUDED.page_id,
|
|
group_id = EXCLUDED.group_id,
|
|
lasteditedon = EXCLUDED.lasteditedon,
|
|
lasteditedby = EXCLUDED.lasteditedby,
|
|
permission = EXCLUDED.permission,
|
|
requestval = EXCLUDED.requestval;
|
|
|
|
INSERT INTO identity.denied_pages
|
|
SELECT * FROM public.denied_pages
|
|
ON CONFLICT (uid) DO UPDATE SET
|
|
page_id = EXCLUDED.page_id,
|
|
user_id = EXCLUDED.user_id,
|
|
isdenied = EXCLUDED.isdenied;
|
|
|
|
INSERT INTO identity.user_loginhistory
|
|
SELECT * FROM public.user_loginhistory
|
|
ON CONFLICT (uid) DO UPDATE SET
|
|
loginid = EXCLUDED.loginid,
|
|
logintime = EXCLUDED.logintime,
|
|
logouttime = EXCLUDED.logouttime,
|
|
ipaddr = EXCLUDED.ipaddr,
|
|
user_id = EXCLUDED.user_id;
|
|
|
|
CREATE INDEX IF NOT EXISTS ix_identity_app_user_loginid_ci
|
|
ON identity.app_user (upper(loginid));
|
|
CREATE INDEX IF NOT EXISTS ix_identity_permission_group_page
|
|
ON identity.permission (group_id, page_id)
|
|
WHERE permission <> '000';
|
|
CREATE INDEX IF NOT EXISTS ix_identity_pages_menu
|
|
ON identity.pages (parentpage, pageorder DESC)
|
|
WHERE isvisible = 1;
|
|
CREATE INDEX IF NOT EXISTS ix_identity_denied_pages_user_page
|
|
ON identity.denied_pages (user_id, page_id)
|
|
WHERE isdenied = 1;
|
|
CREATE INDEX IF NOT EXISTS ix_identity_login_history_user_time
|
|
ON identity.user_loginhistory (user_id, logintime DESC);
|
|
|
|
SELECT setval(
|
|
'identity.app_user_user_id_seq',
|
|
GREATEST(COALESCE((SELECT max(user_id) FROM identity.app_user), 1), 1),
|
|
EXISTS (SELECT 1 FROM identity.app_user));
|
|
SELECT setval(
|
|
'identity.company_company_id_seq',
|
|
GREATEST(COALESCE((SELECT max(company_id) FROM identity.company), 1), 1),
|
|
EXISTS (SELECT 1 FROM identity.company));
|
|
SELECT setval(
|
|
'identity.company_branch_branch_id_seq',
|
|
GREATEST(COALESCE((SELECT max(branch_id) FROM identity.company_branch), 1), 1),
|
|
EXISTS (SELECT 1 FROM identity.company_branch));
|
|
SELECT setval(
|
|
'identity.user_group_group_id_seq',
|
|
GREATEST(COALESCE((SELECT max(group_id) FROM identity.user_group), 1), 1),
|
|
EXISTS (SELECT 1 FROM identity.user_group));
|
|
SELECT setval(
|
|
'identity.pages_page_id_seq',
|
|
GREATEST(COALESCE((SELECT max(page_id) FROM identity.pages), 1), 1),
|
|
EXISTS (SELECT 1 FROM identity.pages));
|
|
SELECT setval(
|
|
'identity.permission_permission_id_seq',
|
|
GREATEST(COALESCE((SELECT max(permission_id) FROM identity.permission), 1), 1),
|
|
EXISTS (SELECT 1 FROM identity.permission));
|
|
SELECT setval(
|
|
'identity.denied_pages_uid_seq',
|
|
GREATEST(COALESCE((SELECT max(uid) FROM identity.denied_pages), 1), 1),
|
|
EXISTS (SELECT 1 FROM identity.denied_pages));
|
|
SELECT setval(
|
|
'identity.user_loginhistory_uid_seq',
|
|
GREATEST(COALESCE((SELECT max(uid) FROM identity.user_loginhistory), 1), 1),
|
|
EXISTS (SELECT 1 FROM identity.user_loginhistory));
|
|
|
|
COMMIT;
|