DROP INDEX with information_schema.STATISTICS and tolerate renamed, missing, or partially migrated legacy indexes.id, tenant_id, create_by, create_time, create_dept, update_by, update_time.del_flag; no visible logic_delete_active generated column is created.(business_key..., del_flag) with BIGINT/Long and @TableLogic(delval = "id"); tables without this requirement do not add the index mechanically.1.(business_key, deleted_at) with deleted_at = NULL; MySQL allows multiple NULL values in a unique index.tenant_id = 1, never 0.NOT EXISTS protection.dict_type or add sys_dict_type and sys_dict_data.sys_excel_export_config and sys_excel_column_config rows.sys_resource inserts create the menu and required button permissions.RespInfo.success(data) / RespInfo.success() and Forge codegen-safe routes./getById, /edit, /remove/{id}); no @PutMapping or @DeleteMapping is generated.PageQuery or pageNum + pageSize, not page.@ApiDecrypt and @ApiEncrypt.AiCrudPage.api-config uses :id placeholders, not {id}.api-config uses POST for detail/update/delete (post@.../getById, post@.../edit, post@.../remove/:id); no put@ or delete@ is generated.useDict(), DictSelect, and DictTag.computed when they depend on dictionaries.AuthImage or getFileUrl(fileId), not raw avatar URLs.text-primary, text-error, text-warning, and text-success.Run the narrowest useful checks for the generated scope:
cd forge && mvn -pl forge-admin-server -am compile -DskipTests
cd forge-admin-ui && source ~/.nvm/nvm.sh && nvm use v20.19.0 && pnpm build
If the full commands are too expensive, run module-specific compilation/lint and state what was not run.