
grate 是一个自动化数据库部署(变更管理)系统,旨在通过普通的 .sql 脚本实现数据库变更管理,同时提供更多高级功能。它不依赖特定编程语言(如 C#)编写迁移,而是支持灵活的脚本部署方式——无论是开发时与新功能代码一同编写的脚本,还是通过 SSDT/RedGate 等工具生成的差异脚本,均可适用。grate 支持多种主流数据库系统,包括 Microsoft SQL Server、MariaDB/MySQL、PostgreSQL 和 Sqlite。
grate 专注于解决数据库迁移的维护复杂性和部署便利性。它采用 SQL 脚本作为核心变更单元,同时针对不同类型对象优化处理逻辑:对于函数、视图、存储过程和权限等需要频繁更新的对象,grate 支持在检测到变更时自动重新应用相关脚本,避免将所有变更集中到一次性的 update 脚本中,从而降低长期维护成本。
grate 主张数据库版本应与代码库版本保持一致,支持在运行时通过参数传递版本号实现版本关联。这使得数据库状态可直接追溯至源代码控制历史中的特定时间点,实现应用代码与数据库状态的精确同步,便于问题定位和版本回滚。
grate 鼓励充分发挥数据库管理系统(DBMS)的原生能力,支持使用表值参数(高效数据处理)、数据压缩(空间优化)、高级索引、复制和细粒度权限管理等 DBMS 特性。相比基于代码的数据库脚手架工具,直接使用 SQL 脚本可更直接地利用数据库系统功能。
grate 适用于需要高效管理数据库变更的开发团队,尤其适合以下场景:
grate 支持通过命令行参数或配置文件设置核心参数,主要包括:
--connection-string:目标数据库连接字符串--database-type:数据库类型(可选值:sqlserver、mysql、postgresql、sqlite)--version:数据库版本号(需与代码库版本对应)--scripts-directory:SQL 脚本存放目录路径详细配置说明及高级用法请参考 https://erikbra.github.io/grate/%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务