[ PROMPT_NODE_26130 ]
railway-database
[ SKILL_DOCUMENTATION ]
# Railway 数据库
添加官方 Railway 数据库服务。这些是维护好的模板,具有预配置的卷、网络和连接变量。
对于非数据库模板,请参阅 `railway-templates` 技能。
## 何时使用
- 用户要求“添加数据库”、“添加 Postgres”、“添加 Redis”等。
- 用户需要为其应用程序添加数据库。
- 用户询问有关连接到数据库的问题。
- 用户说“添加 postgres 并连接到我的服务器”。
- 用户说“连接数据库”。
## 决策流程
**在创建之前,请务必先检查是否存在现有数据库。**
用户提到数据库
│
先检查现有数据库
(查询 env 配置以获取 source.image)
│
┌────┴────┐
已存在 不存在
│ │
│ 创建数据库
│ (CLI 或 API)
│ │
│ 等待部署
│ │
└─────┬─────┘
│
用户想要
连接服务吗?
│
┌─────┴─────┐
是 否
│ │
通过 env 完成 +
技能连接变量 建议连接
## 检查现有数据库
在创建数据库之前,检查是否已经存在。
有关完整的环境配置结构,请参阅 [environment-config.md](../reference/environment-config.md)。
bash
railway status --json
然后查询环境配置并检查每个服务的 `source.image`:
graphql
query environmentConfig($environmentId: String!) {
environment(id: $environmentId) {
config(decryptVariables: false)
}
}
`config.services` 对象包含每个服务的配置。检查 `source.image` 是否为:
- `ghcr.io/railway/postgres*` 或 `postgres:*` → Postgres
- `ghcr.io/railway/redis*` 或 `redis:*` → Redis
- `ghcr.io/railway/mysql*` 或 `mysql:*` → MySQL
- `ghcr.io/railway/mongo*` 或 `mongo:*` → MongoDB
## 可用数据库
| 数据库 | 模板代码 |
|----------|---------------|
| PostgreSQL | `postgres` |
| Redis | `redis` |
| MySQL | `mysql` |
| MongoDB | `mongodb` |
## 先决条件
获取项目上下文:
bash
railway status --json
提取:
- `id` - 项目 ID
- `environments.edges[0].node.id` - 环境 ID
获取工作区 ID(不在状态输出中):
bash
bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh
'query getWorkspace($projectId: String!) {
project(id: $projectId) { workspaceId }
}'
'{"projectId": "PROJECT_ID"}'
SCRIPT
## 添加数据库
### 第 1 步:获取模板
bash
bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.s