material_manage_system/scripts/migrations/006_phase1_role_permission_defaults.sql
2026-09-16 16:29:04 +08:00

32 lines
1.4 KiB
SQL

INSERT IGNORE INTO role_permissions (role_id, permission_id)
SELECT r.id, p.id
FROM (
SELECT 'warehouse_admin' AS role_code, 'master.material.read' AS permission_code
UNION ALL SELECT 'warehouse_admin', 'inventory.stock.read'
UNION ALL SELECT 'warehouse_admin', 'inventory.warning.write'
UNION ALL SELECT 'warehouse_admin', 'inventory.inbound.write'
UNION ALL SELECT 'warehouse_admin', 'inventory.outbound.write'
UNION ALL SELECT 'purchaser', 'master.material.read'
UNION ALL SELECT 'purchaser', 'partner.supplier.read'
UNION ALL SELECT 'purchaser', 'partner.supplier.write'
UNION ALL SELECT 'purchaser', 'inventory.stock.read'
UNION ALL SELECT 'purchaser', 'inventory.warning.write'
UNION ALL SELECT 'technician', 'master.material.read'
UNION ALL SELECT 'technician', 'master.material.write'
UNION ALL SELECT 'technician', 'master.config.write'
UNION ALL SELECT 'technician', 'inventory.stock.read'
UNION ALL SELECT 'production', 'master.material.read'
UNION ALL SELECT 'production', 'inventory.stock.read'
UNION ALL SELECT 'production', 'inventory.outbound.write'
UNION ALL SELECT 'sales', 'master.material.read'
UNION ALL SELECT 'sales', 'partner.customer.read'
UNION ALL SELECT 'sales', 'partner.customer.write'
UNION ALL SELECT 'sales', 'inventory.stock.read'
) AS defaults
JOIN roles r ON r.code = defaults.role_code
JOIN permissions p ON p.code = defaults.permission_code;