Release
A release is an immutable, deployable artifact that contains database changes. It serves as the database equivalent of a Docker image in modern CI/CD pipelines.
Overview
In Bytebase’s GitOps workflow, a release is automatically created when changes are merged to your main branch. It packages all SQL migration files into a single deployable unit that can be progressively rolled out across your database environments.
Key Characteristics
- Immutable - Once created, a release cannot be modified, ensuring deployment consistency
- Version-controlled - Each release is tied to a specific VCS commit for full traceability
- Environment-agnostic - The same release can be deployed across test, staging, and production
- Auditable - Complete history of creation, deployment, and rollback operations
- Idempotent - Bytebase automatically detects and skips already applied migrations, preventing duplicate executions
Benefits
Consistency
The same release deployed to test is exactly what gets deployed to production - no manual SQL copying or modification.
Idempotent Deployment
Bytebase tracks which migrations have been applied to each database. When deploying a release:
- Already applied migrations are automatically skipped
- Only new migrations are executed
- Safe to re-deploy the same release multiple times
- No risk of duplicate schema changes or data corruption
Compliance
- Every change is reviewed before release creation
- Deployment requires appropriate approvals
- Full audit trail for regulatory requirements
Integration
Releases integrate seamlessly with existing CI/CD tools, treating database changes with the same rigor as application deployments.