ulthon_admin
欢迎 目录和文件规范 系统架构 命名规范 php-cs-fixer public/static目录规范 app/common目录规范 command tools 规范 数据库规范 CURD 生成方案 CURD命令行 SCHEME机制 表结构 数据库迁移代码 CURD 命令使用指南与 Scheme 机制详解 最佳实践 数据库自动缓存 数据库调试 视图 包含文件 后台兼容接口请求 后台菜单导入导出 权限的用法 table数据表格 cols operat _if auth titleField field tab edit selectList valueParser trueHide fieldFormat templet defaultValue search相关 time defaultSearchValue size defaultToolbar init formFullScreen toobar limit modifyReload 控制器 CURD方法 导出 控制器通用验证 dataBrage向js传递参数 组件控件 select 下拉菜单option拼接 lay-submit paste-text粘贴 multiple-columns editor data-upload上传 tag-input标签输入 property-input动态字段输入 data-date时间控件参数 table-data列表选择器 city-picker城市选择器 copy-text 全局监听组件 data-request data-open 内置定时器 并发模式 重置密码 系统配置 PHP助手函数 sysconfig JS助手函数 checkMobile empty open 弹框 叠加loading getDataBrage getQueryVariable 扩展机制 事件扩展 实现事件 执行事件 事件列表 AdminLayoutRequireAfter LoadMigrationFiles AdminLoginIndex AdminLoginForget AdminLoginType AdminMenuTab AdminLayoutRequireBefore 自动更新 性能优化 精简代码 关闭数据库日志驱动 皮肤 正常 科幻 其他 切换模块时直接切换内容 关闭上传文件注入检测 代码编译原理 接入workerman和命令参数 升级TP6.1 Request的默认过滤 异步引入全局script 线上安装脚本 兼容PHP8.1

数据库命令行工具

功能概述

数据库命令行工具是一套用于在命令行中直接操作数据库的便捷工具集,提供查询、执行、统计、查看表结构等多种功能。该工具集主要用于开发调试阶段,帮助开发者快速查看和操作数据库数据。

使用限制

重要:所有数据库命令行工具仅在 APP_DEBUG = true(开发者模式)下可用,生产环境中自动禁用以保证安全性。

可用命令

1. tools:db:query - 执行 SQL 查询

执行 SELECT 查询语句并以表格或 JSON 格式显示结果。

  1. php think tools:db:query "SELECT * FROM ul_user LIMIT 10"
  2. php think tools:db:query "SELECT id, username FROM ul_user WHERE status = 1" --format=json

参数说明

  • sql: SQL 查询语句(必须)
  • --format: 输出格式,可选值:table(默认,表格形式)、json(JSON 格式)

使用场景

  • 快速查看表数据
  • 调试复杂 SQL 查询
  • 导出数据为 JSON 格式

2. tools:db:execute - 执行 SQL 写入操作

执行 INSERT、UPDATE、DELETE 等写操作 SQL 语句,执行前需要确认。

  1. php think tools:db:execute "UPDATE ul_user SET status = 1 WHERE id = 1"
  2. php think tools:db:execute "DELETE FROM ul_log WHERE create_time < '2024-01-01'"

参数说明

  • sql: SQL 执行语句(必须)
  • --yes: 跳过确认直接执行(谨慎使用)

安全机制

  • 执行前显示将影响的行数
  • 需要手动确认(输入 yes)才会执行
  • 使用 --yes 参数可跳过确认(仅限脚本场景)

使用场景

  • 批量更新数据
  • 清理历史数据
  • 临时数据修复

3. tools:db:table - 使用查询构造器操作

使用 ThinkPHP 查询构造器进行链式操作,支持 select、update、delete、insert。

  1. # 查询
  2. php think tools:db:table user select "where('status', 1).limit(10)"
  3. # 更新
  4. php think tools:db:table user update "where('id', 1)" --data='{"status": 1}'
  5. # 删除
  6. php think tools:db:table user delete "where('status', 0)"
  7. # 插入
  8. php think tools:db:table user insert --data='{"username": "test", "password": "123456"}'

参数说明

  • table: 表名(不需要前缀 ul_,自动处理)
  • action: 操作类型:select、update、delete、insert
  • where: WHERE 条件链(使用 ThinkPHP 查询构造器语法)
  • --data: JSON 格式的数据(用于 update 和 insert)
  • --format: 输出格式:table(默认)、json

使用场景

  • 快速构建查询条件
  • 批量数据操作
  • 无需记忆完整 SQL 语法

4. tools:db:count - 统计表记录数

统计表的记录总数,支持 WHERE 条件。

  1. php think tools:db:count user
  2. php think tools:db:count user --where="where('status', 1)"

参数说明

  • table: 表名(不需要前缀 ul_,自动处理)
  • --where: WHERE 条件链

使用场景

  • 快速统计数据量
  • 统计特定条件下的记录数

5. tools:db:info - 显示数据库信息

显示当前数据库连接信息和所有表列表。

  1. php think tools:db:info

输出内容

  • 数据库连接配置(host、port、database、charset)
  • 所有数据表列表(带行数统计)

使用场景

  • 检查数据库连接状态
  • 查看所有可用表
  • 快速了解数据库结构

6. tools:db:desc - 查看表结构

显示指定表的详细结构信息,包括字段定义和索引。

  1. php think tools:db:desc user

输出内容

  • 字段信息:字段名、类型、是否为空、默认值、注释
  • 索引信息:索引名、索引类型、索引字段

使用场景

  • 快速查看表结构
  • 检查字段定义
  • 查看索引配置

注意事项

  1. 仅限开发环境使用:所有命令仅在 APP_DEBUG = true 时可用
  2. 表名前缀自动处理:命令中的表名会自动添加 ul_ 前缀
  3. 写操作需确认:execute 和 table 命令的写操作需要手动确认
  4. 格式化输出:所有查询命令都支持 --format=table(默认)和 --format=json 两种输出格式
  5. 权限控制:使用 .env 文件中配置的数据库用户权限,确保有足够的操作权限

原文标题:数据库调试

原文文档:ulthon_admin

原文地址:https://doc.ulthon.com/read/augushong/ulthon_admin/69783ae26f798/zh-cn/2.x.html

原文平台:奥宏文档

2.x