chore: initial commit
This commit is contained in:
83
internal/db/migrations/000002_seed.up.sql
Normal file
83
internal/db/migrations/000002_seed.up.sql
Normal file
@@ -0,0 +1,83 @@
|
||||
-- 创建用户
|
||||
INSERT INTO sys_users (account, username, password_hash, avatar_id, created_at)
|
||||
VALUES ('admin', '管理员', '$2a$10$d/xYJVUFTmpSVUaV3uawZ.7hj6FanbooMJ9YjsFOmQKNopWc6oR9i', NULL,
|
||||
'2025-10-18 03:05:54.692714');
|
||||
|
||||
-- 批量插入菜单及关联权限
|
||||
WITH input(name, path, component, type, sort, status, code)
|
||||
AS (VALUES ('首页', '/', '/system/home/index', 1, 0, 1, 'home'),
|
||||
('用户管理', '/user', '/system/user/index', 1, 1, 1, 'user'),
|
||||
('角色管理', '/role', '/system/role/index', 1, 2, 1, 'role'),
|
||||
('菜单管理', '/menu', '/system/menu/index', 1, 3, 1, 'menu'),
|
||||
('接口管理', '/sys_api', '/system/api/index', 1, 4, 1, 'api'),
|
||||
('文件管理', '/file', '/system/file/index', 1, 5, 1, 'file')),
|
||||
-- 插入菜单
|
||||
inserted_menus AS (
|
||||
INSERT INTO sys_menus (name, path, component, type, sort, status)
|
||||
SELECT name, path, component, type, sort, status FROM input RETURNING id),
|
||||
menu_rows AS (SELECT id, ROW_NUMBER() OVER () AS rn FROM inserted_menus),
|
||||
-- 插入权限
|
||||
inserted_permissions AS (
|
||||
INSERT INTO sys_permissions (type, code)
|
||||
SELECT 0, code FROM input RETURNING id),
|
||||
permission_rows AS (SELECT id, ROW_NUMBER() OVER () AS rn FROM inserted_permissions)
|
||||
-- 关联权限
|
||||
INSERT
|
||||
INTO sys_menu_permission(menu_id, permission_id)
|
||||
SELECT m.id, p.id
|
||||
FROM menu_rows m
|
||||
JOIN permission_rows p ON m.rn = p.rn;
|
||||
|
||||
-- 批量插入接口及关联权限
|
||||
WITH inserted_apis AS (
|
||||
-- 插入菜单
|
||||
INSERT INTO sys_apis (group_name, name, method, path)
|
||||
VALUES ('用户管理', '用户列表', 'GET', '/admin/user'),
|
||||
('用户管理', '用户信息', 'GET', '/admin/user/info'),
|
||||
('用户管理', '查询用户', 'GET', '/admin/user/{id}'),
|
||||
('用户管理', '用户角色', 'GET', '/admin/user/{id}/roles'),
|
||||
('用户管理', '创建用户', 'POST', '/admin/user'),
|
||||
('用户管理', '修改用户', 'PATCH', '/admin/user/{id}'),
|
||||
('用户管理', '删除用户', 'DELETE', '/admin/user/{id}'),
|
||||
('用户管理', '分配用户角色', 'PUT', '/admin/user/{id}/roles'),
|
||||
('用户管理', '修改密码', 'PATCH', '/admin/user/{id}/password'),
|
||||
--
|
||||
('角色管理', '角色列表', 'GET', '/admin/role'),
|
||||
('角色管理', '创建角色', 'POST', '/admin/role'),
|
||||
('角色管理', '所有角色', 'GET', '/admin/role/all'),
|
||||
('角色管理', '单个角色', 'GET', '/admin/role/{id}'),
|
||||
('角色管理', '角色菜单', 'GET', '/admin/role/{id}/menus'),
|
||||
('角色管理', '角色接口', 'GET', '/admin/role/{id}/apis'),
|
||||
('角色管理', '修改角色', 'PATCH', '/admin/role/{id}'),
|
||||
('角色管理', '删除角色', 'DELETE', '/admin/role/{id}'),
|
||||
('角色管理', '分配角色菜单', 'PUT', '/admin/role/{id}/menus'),
|
||||
('角色管理', '分配角色接口', 'PUT', '/admin/role/{id}/apis'),
|
||||
--
|
||||
('接口管理', '接口列表', 'GET', '/admin/api'),
|
||||
('接口管理', '所有接口', 'GET', '/admin/api/all'),
|
||||
('接口管理', '接口分组', 'GET', '/admin/api/group_names'),
|
||||
('接口管理', '创建接口', 'POST', '/admin/api'),
|
||||
('接口管理', '修改接口', 'PATCH', '/admin/api/{id}'),
|
||||
('接口管理', '删除接口', 'DELETE', '/admin/api/{id}'),
|
||||
--
|
||||
('菜单管理', '菜单列表', 'GET', '/admin/menu'),
|
||||
('菜单管理', '创建菜单', 'POST', '/admin/menu'),
|
||||
('菜单管理', '所有菜单', 'GET', '/admin/menu/all'),
|
||||
('菜单管理', '修改菜单', 'PATCH', '/admin/menu/{id}'),
|
||||
('菜单管理', '删除菜单', 'DELETE', '/admin/menu/{id}'),
|
||||
--
|
||||
('文件管理', '文件列表', 'GET', '/admin/file'),
|
||||
('文件管理', '上传文件', 'POST', '/admin/file') RETURNING id),
|
||||
api_rows AS (SELECT id, ROW_NUMBER() OVER () AS rn
|
||||
FROM inserted_apis),
|
||||
-- 创建权限
|
||||
inserted_permissions AS (
|
||||
INSERT INTO sys_permissions (type)
|
||||
SELECT 1 FROM api_rows RETURNING id),
|
||||
permission_rows AS (SELECT id, ROW_NUMBER() OVER () AS rn
|
||||
FROM inserted_permissions)
|
||||
INSERT
|
||||
INTO sys_api_permission(api_id, permission_id)
|
||||
SELECT a.id, b.id
|
||||
FROM api_rows a
|
||||
INNER JOIN permission_rows b ON a.rn = b.rn;
|
||||
Reference in New Issue
Block a user