Introducing Agent Safe Governance for the AI Era

Output Formats in the Liquibase AI Changelog Generator

Last updated: May 15, 2026

The AI Changelog Generator is currently in early access, and we're actively seeking customer feedback to help shape its development. If you would like to learn more about this feature, please contact us here. The Liquibase AI Changelog Generator generates changelog output in two formats: the default XML and Formatted SQL. This page explains what each format produces, when to use each one, and how to switch between them.

Overview

When you describe a database change to the AI Changelog Generator in natural language, it generates a Liquibase changelog entry. The output format determines how that entry appears and how Liquibase processes it.

XML

Formatted SQL

Default format

Yes

No — must be enabled

Database-agnostic

Yes

No — generates dialect-specific SQL

Rollback generation

Auto-generated by Liquibase at runtime for most operations

Explicitly written into the file by the MCP server

Works with include/includeAll

Yes

Yes

Best use case

Teams using Liquibase-native workflows across multiple databases

Teams with SQL-first workflows who prefer readable, explicit SQL files

XML Output

XML is the default output format. The AI Changelog Generator generates a standard Liquibase XML changeset using Liquibase change types such as createTable, addColumn, and createIndex.

When to use XML

  • Your team uses Liquibase across multiple database platforms

  • You want Liquibase to manage rollback logic automatically at runtime

  • You are working with changelogs that use include or includeAll

  • You need the full range of Liquibase change type attributes

Example XML output

Natural language prompt: "Create a user table with an auto-incrementing ID, a username up to 50 characters that must be unique, and a non-null email."

loading

Formatted SQL Output

Formatted SQL output produces a plain .sql file using Liquibase's formatted SQL changelog syntax. The SQL is generated for a specific target database, making the output immediately readable and executable by anyone familiar with SQL.

When to use Formatted SQL

  • Your team prefers working directly with SQL files

  • You want rollback statements written explicitly into the changelog file

  • You are targeting a specific database and want dialect-appropriate SQL

  • You are introducing Liquibase to a team that already has a SQL-based workflow

Example Formatted SQL output

Same natural language prompt, Formatted SQL output for PostgreSQL:

Example formatted SQL
loading