
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该Docker镜像是一个专注于PostgreSQL数据库的原始SQL迁移工具,主要用于生成和管理数据库的SQL迁移脚本。它允许开发者通过简单的命令行操作,创建、组织和执行原生SQL格式的数据库迁移文件,确保数据库结构变更过程可追踪、可重复,简化数据库版本控制和多环境同步。
通过以下命令生成新的迁移脚本(需挂载本地目录存储脚本):
bashdocker run -v $(pwd)/migrations:/app/migrations blainehansen/postgres-migration-tool generate --name create_users_table
-v $(pwd)/migrations:/app/migrations:将本地当前目录下的migrations文件夹挂载到容器内的/app/migrations目录,用于存储生成的迁移脚本。generate --name create_users_table:执行生成命令,--name指定脚本名称(建议使用描述性名称,如create_users_table、add_email_index_to_users)。执行后,migrations目录下会生成类似V1__create_users_table.sql的文件(V后为版本号,__后为脚本名称),可直接编辑该文件添加具体SQL语句。
2. 执行迁移脚本
通过以下命令执行已生成的迁移脚本(需配置数据库连接信息):
bashdocker run -v $(pwd)/migrations:/app/migrations \ -e POSTGRES_HOST=your-postgres-host \ -e POSTGRES_PORT=5432 \ -e POSTGRES_DB=your-db-name \ -e POSTGRES_USER=your-db-user \ -e POSTGRES_PASSWORD=your-db-password \ blainehansen/postgres-migration-tool migrate
POSTGRES_HOST:PostgreSQL数据库主机地址。POSTGRES_PORT:PostgreSQL数据库端口(默认5432)。POSTGRES_DB:目标数据库名称。POSTGRES_USER:数据库连接用户名(需具备执行DDL/DML权限)。POSTGRES_PASSWORD:数据库连接密码。3. 查看迁移历史
查询已执行的迁移记录:
bashdocker run -v $(pwd)/migrations:/app/migrations \ -e POSTGRES_HOST=your-postgres-host \ -e POSTGRES_PORT=5432 \ -e POSTGRES_DB=your-db-name \ -e POSTGRES_USER=your-db-user \ -e POSTGRES_PASSWORD=your-db-password \ blainehansen/postgres-migration-tool history
除上述基本连接参数外,支持以下可选环境变量:
MIGRATION_TABLE:自定义迁移状态跟踪表名(默认schema_migrations),用于记录已执行的迁移版本。POSTGRES_SSL_MODE:PostgreSQL连接SSL模式(可选值:disable、allow、prefer、require,默认disable)。迁移脚本规范
生成的迁移脚本需遵循以下规范:
V<版本号>__<脚本名称>.sql(如V2__add_email_to_users.sql),版本号需为整数且递增。CREATE TABLE、ALTER TABLE等),无需额外格式封装。migrations文件夹。docker run ... generate --name create_users_table,编辑生成的V1__create_users_table.sql文件,添加:
sqlCREATE TABLE users ( id SERIAL PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
docker run ... migrate,将表结构应用到数据库。history命令确认迁移已执行,或直接查询数据库验证表结构。V2__drop_users_table.sql)。migrations目录有读写权限,避免容器内无法生成或读取脚本文件。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务