DbAgent 通过三个主要工具帮助管理关系型数据库生命周期:
迁移(Migrations):基于 Sequel 实现,可通过简单命令 rake db:migrate 执行迁移,支持超级用户和普通用户两种迁移模式。
监控(Spy):使用 Schemaspy 生成可浏览的数据库 schema 文档,通过简单 Web 界面随时查看。
种子数据(Seed):以分层 JSON 文件组织数据集,支持维护、安装和清空数据库内容,特别适用于自动化测试等场景。
DbAgent 推荐以 Docker 镜像形式使用,镜像名称为 enspirit/dbagent。只需挂载迁移文件和数据文件夹即可开始使用。
详情可参考示例文件夹(examples folder)。
DBAGENT_ROOT_FOLDER 主文件夹,用于存放数据、迁移文件和视图(必填)DBAGENT_LOGLEVEL 日志级别,默认为 WARNDBAGENT_LOGSQL 是否记录 Sequel 的 SQL 查询,默认为 noDBAGENT_ADAPTER Sequel 适配器,默认为 postgresDBAGENT_HOST 数据库服务器主机,默认为 localhostDBAGENT_PORT 数据库服务器端口,默认为 5432DBAGENT_DB 数据库名称,默认为 suppliers-and-partsDBAGENT_USER 数据库用户,默认为 dbagentDBAGENT_PASSWORD 数据库密码,默认为 dbagentDBAGENT_SOCKET 数据库服务器 socket(当不使用 host/port 时)DBAGENT_SUPER_USER 超级用户名称(仅 PostgreSQL)DBAGENT_SUPER_DB 超级用户数据库(仅 PostgreSQL)DBAGENT_SUPER_PASSWORD 超级用户密码(仅 PostgreSQL)DBAGENT_VIEWPOINT 使用 db:flush 时的 Bmg 视图(类名)以下 Rake 任务用于数据库管理,通常需在 Docker 容器内执行:
rake db:check-seeds # 检查所有种子数据是否可正确安装 rake db:create # 创建新用户和数据库(谨慎使用) rake db:drop # 删除用户和数据库(谨慎使用) rake db:flush[to] # 将数据库内容清空为指定数据集 rake db:migrate # 执行数据库迁移 rake db:ping # 测试数据库连接,确认迁移准备就绪 rake db:rebuild # 从 scratch 重建数据库(谨慎使用) rake db:repl # 打开数据库 REPL 终端 rake db:seed[from] # 安装指定种子数据集 rake db:spy # 将 schema 文档生成到 database/schema 目录 rake db:backup # 备份数据库到 backups 文件夹 rake db:restore[match] # 从 backups 文件夹恢复最后一个匹配的备份文件 rake db:revive # 快捷执行 db:restore 和 db:migrate
GET /schema/ # 浏览数据库 schema(需先执行 `rake db:spy`) POST /seeds/install?id=... # 安装指定数据集,id 为 data 文件夹中的子文件夹名称 POST /seeds/flush?id=... # 将当前数据库内容清空为指定数据集
bundle install
测试需本地安装 PostgreSQL,并创建 suppliers-and-parts 数据库及 dbagent 用户:
sudo su postgres -c 'createuser --createdb dbagent -P'
DbAgent 默认使用 suppliers-and-parts 数据库,用户/密码为 dbagent/dbagent。如需修改,需通过环境变量调整。
DBAGENT_ROOT_FOLDER=examples/suppliers-and-parts bundle exec rake db:create db:migrate db:seed['base']
测试需本地安装 Docker,执行:
make test
测试后清理资源:
make clean
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429