feat: 统一sql命名、函数命名

This commit is contained in:
2026-08-02 12:02:04 +08:00
parent d39342ce5f
commit 0e674e9d56
68 changed files with 1985 additions and 1720 deletions

View File

@@ -1,12 +1,13 @@
-- name: CreateFile :one
INSERT INTO files(file_name, file_path, original_name, folder_name, mime_type, file_size)
VALUES ($1, $2, $3, $4, $5, $6) RETURNING id,file_path,file_name;
INSERT INTO files(file_name, file_path, original_name, folder_name, mime_type, file_size, file_url)
VALUES ($1, $2, $3, $4, $5, $6, $7)
RETURNING id,file_url,file_name;
-- name: GetFiles :many
-- name: ListFiles :many
SELECT *
FROM files
ORDER BY id LIMIT $1
OFFSET $2;
ORDER BY id
LIMIT $1 OFFSET $2;
-- name: CountFiles :one
SELECT COUNT(*)

View File

@@ -22,7 +22,7 @@ WITH paginated_posts AS (
)
-- 第二步:用这极少量的记录去进行 JOIN
SELECT p.*,
f.file_path AS cover,
f.file_url AS cover,
c.name AS category_name,
c.id AS category_id,
COALESCE(ps.view, 0) AS view,
@@ -54,7 +54,7 @@ GROUP BY p.id,
p.published_at,
p.created_at,
p.updated_at,
f.file_path,
f.file_url,
c.name,
c.id,
ps.view
@@ -64,9 +64,9 @@ ORDER BY p.sort DESC, p.published_at DESC, p.id DESC;
SELECT COUNT(*)
FROM posts;
-- name: GetPostById :one
-- name: GetPostByID :one
SELECT p.*,
f.file_path AS cover,
f.file_url AS cover,
c.name AS category_name,
c.id AS category_id,
COALESCE(
@@ -80,7 +80,7 @@ FROM posts p
LEFT JOIN post_tag pt ON pt.post_id = p.id
WHERE p.id = $1
GROUP BY p.id,
f.file_path,
f.file_url,
c.name,
c.id
LIMIT 1;
@@ -106,7 +106,7 @@ WHERE id = $1;
-- name: GetPublicPostBySlug :one
SELECT p.*,
f.file_path AS cover,
f.file_url AS cover,
COALESCE(ps.view, 0) AS view
FROM posts p
LEFT JOIN files f ON f.id = p.cover_id
@@ -132,7 +132,7 @@ WITH paginated_posts AS (
ORDER BY sort DESC, published_at DESC, id DESC
LIMIT $1 OFFSET $2)
SELECT p.*,
f.file_path AS cover,
f.file_url AS cover,
c.name AS category_name,
c.id AS category_id,
COALESCE(ps.view, 0) AS view,
@@ -161,7 +161,7 @@ GROUP BY p.id,
p.summary,
p.sort,
p.published_at,
f.file_path,
f.file_url,
c.name,
c.id,
ps.view

View File

@@ -1,28 +1,35 @@
-- name: CreateSysApi :one
-- name: CreateApi :one
INSERT INTO sys_apis (name, group_name, method, path, sort)
VALUES ($1, $2, $3, $4, $5)
RETURNING id;
-- name: GetSysApis :many
-- name: ListAllApis :many
SELECT *
FROM sys_apis
WHERE (sqlc.arg('group_name')::text = '' OR group_name ILIKE '%' || sqlc.arg('group_name') || '%')
ORDER BY sort ASC;
-- name: ListApis :many
SELECT *
FROM sys_apis
WHERE (sqlc.arg('name')::text = '' OR name ILIKE '%' || sqlc.arg('name') || '%')
AND (sqlc.arg('group_name')::text = '' OR group_name ILIKE '%' || sqlc.arg('group_name') || '%')
AND (sqlc.arg('method')::text = '' OR method = sqlc.arg('method'))
ORDER BY id
LIMIT $1 OFFSET $2;
-- name: CountSysApis :one
-- name: CountApis :one
SELECT COUNT(*)
FROM sys_apis
WHERE (sqlc.arg('group_name')::text = '' OR group_name ILIKE '%' || sqlc.arg('group_name') || '%')
WHERE (sqlc.arg('name')::text = '' OR name ILIKE '%' || sqlc.arg('name') || '%')
AND (sqlc.arg('group_name')::text = '' OR group_name ILIKE '%' || sqlc.arg('group_name') || '%')
AND (sqlc.arg('method')::text = '' OR method = sqlc.arg('method'));
-- name: GetSysApiByID :one
-- name: GetApiByID :one
SELECT *
FROM sys_apis
WHERE id = $1;
-- name: UpdateSysApi :execrows
-- name: UpdateApi :execrows
UPDATE sys_apis
SET name = $2,
method = $3,
@@ -31,25 +38,21 @@ SET name = $2,
group_name = $6
WHERE id = $1;
-- name: DeleteSysApi :execrows
-- name: DeleteApi :execrows
DELETE
FROM sys_apis
WHERE id = $1;
-- name: CreateSysApiPermission :exec
-- name: CreateApiPermission :exec
INSERT INTO sys_api_permission (api_id, permission_id)
VALUES ($1, $2);
-- name: DeleteSysApiPermission :exec
-- name: DeleteApiPermission :exec
DELETE
FROM sys_api_permission
WHERE api_id = $1;
-- name: GetSysApiGroupNames :many
-- name: ListApiGroups :many
SELECT DISTINCT group_name
FROM sys_apis;
-- name: GetAllSysApis :many
SELECT *
FROM sys_apis
ORDER BY sort ASC;

View File

@@ -1,9 +1,9 @@
-- name: CreateSysMenu :one
-- name: CreateMenu :one
INSERT INTO sys_menus (name, path, component, type, hidden, sort, status, parent_id, icon)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)
RETURNING id;
-- name: ListSysMenus :many
-- name: ListMenus :many
SELECT m.*, p.code AS permission_code
FROM sys_menus m
LEFT JOIN sys_menu_permission mp ON m.id = mp.menu_id
@@ -11,11 +11,11 @@ FROM sys_menus m
ORDER BY m.id
LIMIT $1 OFFSET $2;
-- name: CountSysMenus :one
-- name: CountMenus :one
SELECT COUNT(*)
FROM sys_menus;
-- name: GetAllSysMenus :many
-- name: ListAllMenus :many
SELECT m.*,
p.code AS permission_code
FROM sys_menus m
@@ -24,12 +24,12 @@ FROM sys_menus m
ORDER BY m.sort ASC,
m.id ASC;
-- name: GetSysMenuByID :one
-- name: GetMenuByID :one
SELECT *
FROM sys_menus
WHERE id = $1;
-- name: UpdateSysMenu :execrows
-- name: UpdateMenu :execrows
UPDATE sys_menus
SET name = coalesce(sqlc.narg('name'), name),
path = coalesce(sqlc.narg('path'), path),
@@ -42,28 +42,28 @@ SET name = coalesce(sqlc.narg('name'), name),
parent_id = CASE WHEN @update_parent_id::boolean THEN @parent_id ELSE parent_id END
WHERE id = sqlc.arg('id');
-- name: DeleteSysMenu :execrows
-- name: DeleteMenu :execrows
DELETE
FROM sys_menus
WHERE id = $1;
-- name: CreateSysMenuPermission :exec
-- name: CreateMenuPermission :exec
INSERT INTO sys_menu_permission (menu_id, permission_id)
VALUES ($1, $2);
-- name: DeleteSysMenuPermission :exec
-- name: DeleteMenuPermission :exec
DELETE
FROM sys_menu_permission
WHERE menu_id = $1;
-- name: DeleteSysPermissionByMenuID :exec
-- name: DeletePermissionsByMenuID :exec
DELETE
FROM sys_permissions
WHERE id IN (SELECT permission_id
FROM sys_menu_permission
WHERE menu_id = $1);
-- name: UpdateSysMenuPermissionCode :exec
-- name: UpdateMenuPermissionCode :exec
UPDATE sys_permissions p
SET code = coalesce(sqlc.narg('code'), code)
FROM sys_menu_permission mp

View File

@@ -1,23 +1,23 @@
-- name: CreateSysPermission :one
-- name: CreatePermission :one
INSERT INTO sys_permissions(type,code)
VALUES ($1,$2) RETURNING id;
-- name: UpdateSysPermission :exec
-- name: UpdatePermission :exec
UPDATE sys_permissions
SET code = $2
WHERE id = $1;
-- name: DeleteSysPermission :exec
-- name: DeletePermission :exec
DELETE
FROM sys_permissions
WHERE id = $1;
-- name: GetSysPermissionIDBySysApiID :one
-- name: GetPermissionIDBySysApiID :one
SELECT permission_id
FROM sys_api_permission
WHERE api_id = $1;
-- name: GetSysPermissionIDBySysMenuID :one
-- name: GetPermissionIDBySysMenuID :one
SELECT permission_id
FROM sys_menu_permission
WHERE menu_id = $1;

View File

@@ -1,23 +1,27 @@
-- name: CreateSysRole :exec
-- name: CreateRole :exec
INSERT INTO sys_roles (name, code, status)
VALUES ($1, $2, $3);
-- name: ListSysRoles :many
-- name: ListAllRoles :many
SELECT *
from sys_roles;
-- name: ListRoles :many
SELECT *
FROM sys_roles
ORDER BY id
LIMIT $1 OFFSET $2;
-- name: CountSysRoles :one
-- name: CountRoles :one
SELECT COUNT(*)
FROM sys_roles;
-- name: GetSysRoleByID :one
-- name: GetRoleByID :one
SELECT *
FROM sys_roles
WHERE id = $1;
-- name: ExistsSysRoleCode :one
-- name: ExistsRoleCode :one
SELECT EXISTS(SELECT 1
FROM sys_roles
WHERE code = sqlc.arg(code)
@@ -26,67 +30,65 @@ SELECT EXISTS(SELECT 1
OR id <> sqlc.narg(id)::integer
));
-- name: UpdateSysRole :execrows
-- name: UpdateRole :execrows
UPDATE sys_roles
SET name = coalesce(sqlc.narg('name'), name),
status = coalesce(sqlc.narg('status'), status)
WHERE id = sqlc.arg('id');
-- name: DeleteSysRole :execrows
-- name: DeleteRole :execrows
DELETE
FROM sys_roles
WHERE id = $1;
-- name: CreateSysRolePermission :copyfrom
-- name: CreateRolePermission :copyfrom
INSERT INTO sys_role_permission (role_id, permission_id)
VALUES ($1, $2);
-- name: GetSysPermissionIdsByMenuIDs :many
-- name: ListPermissionIDsByMenuIDs :many
SELECT permission_id
FROM sys_menu_permission
WHERE menu_id = ANY ($1::int[]);
-- name: GetSysPermissionIdsByApiIDs :many
-- name: ListPermissionIDsByApiIDs :many
SELECT permission_id
FROM sys_api_permission
WHERE api_id = ANY ($1::int[]);
-- name: GetAllSysRoles :many
SELECT *
from sys_roles;
-- name: GetSysRoleMenus :many
-- name: ListRoleMenus :many
SELECT m.id, m.name
FROM sys_role_permission rp
JOIN sys_menu_permission mp ON mp.permission_id = rp.permission_id
JOIN sys_menus m ON m.id = mp.menu_id
WHERE rp.role_id = $1;
-- name: GetSysRoleApis :many
-- name: ListRoleApis :many
SELECT a.id, a."name"
FROM sys_role_permission rp
JOIN sys_api_permission ap ON ap.permission_id = rp.permission_id
JOIN sys_apis a ON a.id = ap.api_id
WHERE rp.role_id = $1;
-- name: DeleteSysRolePermissionByType :exec
-- name: DeleteRolePermissionsByType :exec
DELETE
FROM sys_role_permission rp USING sys_permissions p
WHERE rp.permission_id = p.id
AND rp.role_id = $1
AND p."type" = $2;
-- name: DeleteSysRolePermissionByRoleID :exec
-- name: DeleteRolePermissionsByRoleID :exec
DELETE
FROM sys_role_permission
WHERE role_id = $1;
-- name: DeleteSysRolePermissionByPermissionID :exec
-- name: DeleteRolePermissionByPermissionID :exec
DELETE
FROM sys_role_permission
WHERE permission_id = $1;
-- name: DeleteSysUserRoleByRoleID :exec
-- name: DeleteUserRoleByRoleID :exec
DELETE
FROM sys_user_role
WHERE role_id = $1;

View File

@@ -1,48 +1,48 @@
-- name: CreateSysUser :exec
-- name: CreateUser :exec
INSERT INTO sys_users (account, username, password_hash, status, avatar_id)
VALUES ($1, $2, $3, $4, $5);
-- name: GetActiveSysUserByID :one
-- name: GetActiveUserByID :one
-- 场景:用户登录、获取个人信息、刷新 Token严格校验 status = 1
SELECT id, account, username, status
FROM sys_users
WHERE id = $1
AND status = 1;
-- name: GetSysUserByID :one
-- name: GetUserByID :one
SELECT u.id,
u.account,
u.username,
u.avatar_id,
u.status,
f.file_path AS avatar_url,
f.file_url AS avatar_url,
u.created_at,
u.updated_at
FROM sys_users u
LEFT JOIN files f ON u.avatar_id = f.id
WHERE u.id = $1;
-- name: GetSysUserByAccount :one
-- name: GetUserByAccount :one
SELECT u.id,
u.account,
u.username,
u.password_hash,
u.status,
u.avatar_id,
f.file_path AS avatar_url,
f.file_url AS avatar_url,
u.created_at,
u.updated_at
FROM sys_users u
LEFT JOIN files f ON u.avatar_id = f.id
WHERE u.account = $1;
-- name: ListSysUsers :many
-- name: ListUsers :many
SELECT u.id,
u.account,
u.username,
u.status,
u.avatar_id,
f.file_path AS avatar_url,
f.file_url AS avatar_url,
u.created_at,
u.updated_at
FROM sys_users u
@@ -51,57 +51,57 @@ WHERE (sqlc.arg('username')::text = '' OR u.username ILIKE '%' || sqlc.arg('user
ORDER BY u.id
LIMIT $1 OFFSET $2;
-- name: CountSysUsers :one
-- name: CountUsers :one
SELECT COUNT(*)
FROM sys_users
WHERE (sqlc.arg('username')::text = '' OR username ILIKE '%' || sqlc.arg('username') || '%');
-- name: UpdateSysUser :execrows
-- name: UpdateUser :execrows
UPDATE sys_users
SET username = coalesce(sqlc.narg('username'), username),
status = coalesce(sqlc.narg('status'), status),
avatar_id = CASE WHEN @update_avatar_id::boolean THEN @avatar_id ELSE avatar_id END
WHERE id = sqlc.arg('id');
-- name: UpdateSysUserPassword :execrows
-- name: UpdateUserPassword :execrows
UPDATE sys_users
SET password_hash = $2
WHERE id = $1;
-- name: DeleteSysUser :execrows
-- name: DeleteUser :execrows
DELETE
FROM sys_users
WHERE id = $1
AND id <> 1;
-- name: ClearSysUserRoles :exec
-- name: ClearUserRoles :exec
DELETE
FROM sys_user_role
WHERE user_id = $1;
-- name: CreateSysUserRole :copyfrom
-- name: CreateUserRole :copyfrom
INSERT INTO sys_user_role (user_id, role_id)
VALUES ($1, $2);
-- name: GetSysUserRoles :many
-- name: ListUserRoles :many
SELECT r.*
FROM sys_roles r
JOIN sys_user_role ur ON r.id = ur.role_id
WHERE ur.user_id = $1;
-- name: GetSysAdminMenus :many
-- name: ListAdminMenus :many
SELECT *
FROM sys_menus
WHERE status = 1
AND type <> 2
ORDER BY sort, id;
-- name: GetSysAdminPermissions :many
-- name: ListAdminPermissionCodes :many
SELECT code
FROM sys_permissions
WHERE type = 0;
-- name: GetSysUserMenus :many
-- name: ListUserMenus :many
SELECT DISTINCT m.*
FROM sys_users u
JOIN sys_user_role ur ON ur.user_id = u.id
@@ -116,7 +116,7 @@ WHERE u.id = $1
AND m.type <> 2
ORDER BY m.sort, m.id;
-- name: GetSysUserPermissions :many
-- name: ListUserPermissionCodes :many
SELECT DISTINCT p.code
FROM sys_users u
JOIN sys_user_role ur ON u.id = ur.user_id
@@ -131,7 +131,7 @@ WHERE u.id = $1
AND m.status = 1
AND p."type" = 0;
-- name: GetSysUserApis :many
-- name: ListUserApis :many
SELECT DISTINCT a.id,
a.PATH,
a.METHOD