
progressoft/dbtoolGenesis dbtool是Progressoft Genesis项目的官方数据库工具,专注于数据库迁移、版本控制和架构管理。该工具通过版本化迁移脚本机制,简化数据库变更流程,确保数据库架构变更可追踪、可重复,并支持与开发和部署流程无缝集成,适用于从开发到生产环境的全生命周期数据库管理。
bashdocker run -it --rm \ -v /本地迁移脚本目录:/app/migrations \ # 挂载本地迁移脚本到容器内默认目录 -e DB_HOST=your-db-host \ # 数据库主机地址 -e DB_PORT=5432 \ # 数据库端口(默认5432) -e DB_USER=db-admin \ # 数据库用户名 -e DB_PASSWORD=secure-password \ # 数据库密码 -e DB_NAME=genesis-db \ # 数据库名称 gitlab.com/progressoft/genesis/dbtool:latest \ migrate # 执行未应用的迁移脚本
bashdocker run -it --rm \ -v /本地迁移脚本目录:/app/migrations \ -e DB_HOST=your-db-host \ -e DB_USER=db-admin \ -e DB_PASSWORD=secure-password \ -e DB_NAME=genesis-db \ gitlab.com/progressoft/genesis/dbtool:latest \ status # 显示已应用和未应用的迁移
bashdocker run -it --rm \ -v /本地迁移脚本目录:/app/migrations \ -e DB_HOST=your-db-host \ -e DB_USER=db-admin \ -e DB_PASSWORD=secure-password \ -e DB_NAME=genesis-db \ gitlab.com/progressoft/genesis/dbtool:latest \ rollback # 回滚最近一次迁移(默认)
| 命令 | 说明 |
|---|---|
migrate | 执行所有未应用的迁移脚本 |
rollback [version] | 回滚到指定版本(不指定则回滚最近一次) |
status | 查看迁移状态(已应用/未应用的迁移脚本) |
version | 显示dbtool版本信息 |
init | 在挂载目录初始化标准迁移脚本目录结构 |
| 参数 | 描述 | 示例 |
|---|---|---|
--migrations-dir | 自定义迁移脚本目录(容器内路径) | --migrations-dir /custom/migrations |
--log-level | 日志级别(debug/info/warn/error) | --log-level debug |
--dry-run | 模拟执行迁移,不实际修改数据库 | --dry-run |
--force | 强制执行迁移(忽略部分安全检查) | --force |
| 环境变量 | 描述 | 必填 | 默认值 |
|---|---|---|---|
DB_HOST | 数据库主机地址 | 是 | - |
DB_PORT | 数据库端口 | 否 | 5432(PostgreSQL默认) |
DB_USER | 数据库用户名 | 是 | - |
DB_PASSWORD | 数据库密码 | 是 | - |
DB_NAME | 数据库名称 | 是 | - |
DB_TYPE | 数据库类型(postgresql/mysql/oracle) | 否 | postgresql |
MIGRATIONS_DIR | 迁移脚本目录(容器内路径) | 否 | /app/migrations |
CONNECTION_TIMEOUT | 数据库连接超时时间(秒) | 否 | 30 |



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务