
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像是一个针对PostgreSQL数据库的版本控制与迁移工具,旨在简化数据库架构变更的管理流程。通过版本化迁移脚本,实现数据库结构在开发、测试、生产等多环境中的一致性,支持迁移脚本的执行、回滚及历史记录追踪,是团队协作开发和自动化部署中数据库变更管理的核心工具。
bashdocker pull <镜像名称>:<版本标签> # 替换为实际镜像名称和版本
前提条件
V1__create_users_table.sql、V2__add_email_column.sql)执行命令
bashdocker run -it --rm \ -v /本地迁移脚本目录:/app/migrations \ # 挂载迁移脚本目录 -e POSTGRES_HOST=数据库主机IP \ # PostgreSQL主机地址 -e POSTGRES_PORT=5432 \ # PostgreSQL端口(默认5432) -e POSTGRES_USER=数据库用户名 \ # 数据库访问用户 -e POSTGRES_PASSWORD=数据库密码 \ # 数据库访问密码 -e POSTGRES_DB=目标数据库名 \ # 目标数据库名称 -e MIGRATION_TABLE=schema_migrations \ # 迁移历史记录表名(默认schema_migrations) <镜像名称>:<版本标签> \ # 镜像名称和版本 migrate # 执行迁移命令(或指定"rollback <版本号>"回滚)
yamlversion: '3.8' services: postgres: image: postgres:15 environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: secret POSTGRES_DB: myappdb ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres -d myappdb"] interval: 5s timeout: 5s retries: 5 db-migration: image: <镜像名称>:<版本标签> volumes: - ./migrations:/app/migrations # 本地迁移脚本目录(需提前创建) environment: POSTGRES_HOST: postgres # 容器网络中PostgreSQL服务名 POSTGRES_PORT: 5432 POSTGRES_USER: postgres POSTGRES_PASSWORD: secret POSTGRES_DB: myappdb depends_on: postgres: condition: service_healthy command: migrate # 启动时自动执行迁移
V<版本号>__<描述>.sql(版本号为整数,双下划线分隔)
V1__init_schema.sql、V2__add_user_roles.sql--rollback注释块定义回滚SQL(部分工具支持):
sql-- 迁移SQL CREATE TABLE users (id SERIAL PRIMARY KEY, name VARCHAR(50)); --rollback DROP TABLE users;
| 环境变量名 | 描述 | 默认值 | 必需 |
|---|---|---|---|
| POSTGRES_HOST | PostgreSQL数据库主机地址 | - | 是 |
| POSTGRES_PORT | PostgreSQL数据库端口 | 5432 | 否 |
| POSTGRES_USER | 数据库访问用户名 | - | 是 |
| POSTGRES_PASSWORD | 数据库访问密码 | - | 是 |
| POSTGRES_DB | 目标数据库名称 | - | 是 |
| MIGRATION_TABLE | 迁移历史记录表名 | schema_migrations | 否 |
| MIGRATIONS_DIR | 容器内迁移脚本目录路径 | /app/migrations | 否 |
| LOG_LEVEL | 日志级别(DEBUG/INFO/WARN/ERROR) | INFO | 否 |
docker run ... <镜像> migratedocker run ... <镜像> rollback <版本号>docker run ... <镜像> historydocker run ... <镜像> status(显示待执行/已执行迁移)您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务