How SDL Release Works
- State Comparison - Bytebase compares your SDL files with current database schema
- DDL Generation - Automatically generates ALTER/DROP statements using topological sort
- Migration Execution - Applies generated DDL to reach desired state
- Revision Tracking - Records new version for future comparisons
CI/CD Integration
Add--declarative flag to enable SDL mode:
Use a compatible
bytebase-action image. For Bytebase Cloud, use
bytebase/bytebase-action:cloud. For self-hosted Bytebase, replace :cloud with your
Bytebase server version, for example :3.14.0.The examples assume your SDL files live under a
schema/ directory - for example
schema/tables/users.sql (MySQL) or schema/schemas/public/tables/users.sql
(PostgreSQL). If your files live elsewhere, adjust the trigger paths and
--file-pattern. The pattern supports ** globs and brace alternation, for example
{schemas,tables,views,functions,procedures,triggers,events}/**/*.sql for an export
extracted at the repository root.- GitHub Actions
- GitLab CI
- Azure DevOps
Version Management
SDL automatically generates versions using timestamp formatYYYYMMDD.HHMMSS:
Migration Generation Example
- PostgreSQL
- MySQL
Current Database:New SDL:Generated Migration:
Next Steps
Limitations
Understand SDL constraints and considerations
Best Practices
Production-ready workflow patterns

