|
|
@@ -0,0 +1,33 @@
|
|
|
+BEGIN;
|
|
|
+
|
|
|
+INSERT INTO "role" (role_id, company_id, role_name, role_permission, role_flag)
|
|
|
+SELECT
|
|
|
+ 2,
|
|
|
+ t.company_id,
|
|
|
+ 'support',
|
|
|
+ '{}'::jsonb,
|
|
|
+ 'a'
|
|
|
+FROM (
|
|
|
+ SELECT r.company_id, 1 AS ord
|
|
|
+ FROM "role" r
|
|
|
+ WHERE r.role_name = 'Admin'
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT c.company_id, 2 AS ord
|
|
|
+ FROM "company" c
|
|
|
+) t
|
|
|
+ORDER BY t.ord
|
|
|
+LIMIT 1
|
|
|
+ON CONFLICT (role_id) DO UPDATE
|
|
|
+SET company_id = EXCLUDED.company_id,
|
|
|
+ role_name = EXCLUDED.role_name,
|
|
|
+ role_permission = EXCLUDED.role_permission,
|
|
|
+ role_flag = EXCLUDED.role_flag;
|
|
|
+
|
|
|
+SELECT setval(
|
|
|
+ pg_get_serial_sequence('"role"', 'role_id'),
|
|
|
+ GREATEST((SELECT COALESCE(MAX(role_id), 0) FROM "role"), 1)
|
|
|
+);
|
|
|
+
|
|
|
+COMMIT;
|