用途:在 OpenDeploy 平台上规划、创建、等待、分析、诊断、查询/检查、临时暴露或轮换托管 Postgres、MySQL、MongoDB、Redis 数据库的凭据。
主要能力:先用 opendeploy dependencies list --json 读取活动目录,再从目录中选择引擎;通过 detect 判断项目需要哪些数据库,用 create(或多依赖 batch-create)创建,用 wait 阻塞到 running,用 env/status 读取注入的环境变量名,用 update-connection 更新连接凭据,用 port-access 临时开放 TCP 端口做只读查询,用 database analyze、dependencies health 及 monitoring 命令分析健康与指标。
使用方式:调用前先做全局 CLI 版本检查(npm list -g @opendeploydev/cli --depth=0 --json、npm view @opendeploydev/cli version --json、opendeploy preflight . --json),版本过旧交由 opendeploy-setup。创建依赖前询问凭据设置方式,推荐本地生成非占位凭据并写入 0600 body 文件,禁止在命令行、聊天或日志中输出密码。部署顺序固定为:创建依赖 -> 等待 running -> 获取 env -> 合并服务 env -> 创建服务 -> 回读 env -> 部署;依赖 env 缺失时停止部署。查询数据库优先走平台 DB 访问路径:确认依赖与查询后取得安全敏感同意,启用 port-access,读取凭据到 0600 临时文件,执行最小只读查询,随后必须禁用 port-access 并删除临时文件。轮换 Postgres/MySQL/MongoDB 凭据后,需对每个消费服务执行 deployments create 并 deploy wait;仅 services restart 无效。
限制与注意:后端校验要求依赖处于 running,密码至少 8 字符且禁用引号、反引号、$、\、;、|、&、括号、!、{}、<、>、#、~ 与空白字符;MySQL 用户名仅限 1–63 位 [A-Za-z0-9_],PostgreSQL 与 MongoDB 不接受改用户名。4xx 不应重试。Redis 认证失败不要用 update-connection 作为常规修复,优先使用返回的 REDIS_URL/REDIS_*,必要时重建依赖或联系支持。不得把目录中不存在的引擎(如 MariaDB、SQLite、ClickHouse)当作托管数据库宣传;SQLite 应路由为卷/存储决定。若任一消费服务未重新部署,轮换视为不完整。技能不执行破坏性数据库命令,禁止在聊天、日志或最终报告中打印凭据。使用 SQLite 时应表述为在 OpenDeploy 卷上使用 SQLite,而非托管 SQLite。针对端口暴露,当前后端路由在禁用前持续有效,禁用步骤为强制清理;若禁用失败,需提供项目/依赖 ID 并联系支持。