Available tools in the Liquibase AI Changelog Generator
Last updated: May 26, 2026
This document covers the available Change Types in the Liquibase AI Changelog Generator for creating XML changelogs.
Note:The Change Type syntax within Liquibase uses camel casing, but the AI Changelog Generator Change Type tools use snake casing. Each AI Changelog Generator tool utilizes the same functionality as the Change Type it is linked to.
camel case example:createTable
snake case example:create_table
create_table
Generate a Liquibase changeset for creating a new table.
Natural language input example:
Create a users table with id (primary key, auto-increment), username (varchar 50, unique), and email (varchar 255, not null)
Parameters:
Parameter | Description |
(required) | Name of the table to create |
(required) | Array of column definitions |
(optional) | Schema name |
(optional) | Catalog name |
(optional) | Tablespace name |
(optional) | Table comments |
Column Definition:
Parameter | Description |
(required) | Column name |
(required) | Column type (e.g., "varchar(255)", "integer") |
(optional) | Column constraints object |
(optional) | Default string value |
(optional) | Default numeric value |
(optional) | Default boolean value |
(optional) | Default date value |
(optional) | Computed default value |
(optional) | Auto-increment flag |
(optional) | Auto-increment start value |
(optional) | Auto-increment step |
(optional) | Column comments |
Constraints Object:
Parameter | Description |
(optional) | Primary key flag |
(optional) | Nullable flag |
(optional) | Unique constraint flag |
(optional) | Unique constraint name |
(optional) | Foreign key reference (format: "table.column") |
(optional) | Foreign key constraint name |
(optional) | Delete cascade flag |
(optional) | Deferrable constraint flag |
(optional) | Initially deferred flag |
add_column
Natural language input example:
Add a created_at timestamp column to the users table
Parameters:
Parameter | Description |
(required) | Name of the existing table |
(required) | Array of column definitions to add |
(optional) | Schema name |
(optional) | Catalog name |
Additional Column Properties:
Parameter | Description |
(optional) | Position directive ("FIRST" or "AFTER column_name") |
(optional) | Column after which to add this column |
(optional) | Column before which to add this column |
create_index
Generate a Liquibase changeset for creating an index.
Natural language input example:
Create a unique index on username column of users table
Parameters:
Parameter | Description |
(required) | Name of the index |
(required) | Name of the table |
(required) | Array of column names to include in index |
(optional) | Schema name |
(optional) | Catalog name |
(optional) | Whether index should be unique |
(optional) | Tablespace name |
drop_table
Generate a Liquibase changeset for dropping a table.
Natural language input example:
Drop the old_users table
Parameters:
Parameter | Description |
(required) | Name of the table to drop |
(optional) | Schema name |
(optional) | Catalog name |
(optional) | Whether to cascade constraints |
drop_column
Generate a Liquibase changeset for removing columns from an existing table.
Natural language input example:
Drop the temporary_column and old_status columns from the users table
Parameters:
Parameter | Description |
(required) | Name of the existing table |
(required) | Array of column names to drop |
(optional) | Schema name |
(optional) | Catalog name |
modify_column
Generate a Liquibase changeset for modifying existing column definitions.
Natural language input example:
Change the email column in users table from varchar(100) to varchar(255)
Parameters:
Parameter | Description |
tableName (required) | Name of the existing table |
columns (required) | Array of column modifications (only one column supported per changeset) |
schemaName (optional) | Schema name |
catalogName (optional) | Catalog name |
Column Modification Properties:
Property | Description |
name (required) | Column name to modify |
newDataType (required) | New data type for the column |
rename_column
Generate a Liquibase changeset for renaming a column.
Natural language input example:
Rename the user_name column to full_name in the users table
Parameters:
Parameter | Description |
(required) | Name of the table containing the column |
(required) | Current name of the column to rename |
(required) | New name for the column |
(optional) | Schema name |
(optional) | Catalog name |
(optional) | Column data type (for type safety) |
(optional) | Column remarks/comments |
Create_view
Generate a Liquibase changeset for creating a database view.
Natural language input example:
Create a view called active_users that shows all users with status 'active'
Parameters:
Parameter | Description |
(required) | Name of the view to create |
(required) | SQL SELECT query that defines the view |
(optional) | Schema name containing the view |
(optional) | Catalog name containing the view |
(optional) | Whether to replace the view if it already exists |
(optional) | Comments about the view |
drop_view
Generate a Liquibase changeset for dropping a database view.
Natural language input example:
Drop the active_users view
Parameters:
Parameter | Description |
(required) | Name of the view to drop |
(optional) | Schema name containing the view |
(optional) | Catalog name containing the view |
drop_index
Generate a Liquibase changeset for removing an index.
Natural language input example:
Drop the idx_users_email index from the users table
Parameters:
Parameter | Description |
(required) | Name of the index to drop |
(required) | Name of the table containing the index |
(optional) | Schema name |
(optional) | Catalog name |
rename_table
Generate a Liquibase changeset for renaming a table.
Natural language input example:
Rename the users table to customers
Parameters:
Parameter | Description |
(required) | Current name of the table to rename |
(required) | New name for the table |
(optional) | Schema name |
(optional) | Catalog name |
create_procedure
Generate a Liquibase changeset for creating a stored procedure.
Natural language input example:
Create a stored procedure to get user by ID: CREATE PROCEDURE GetUserById(@Id INT) AS SELECT * FROM users WHERE id = @Id
Parameters:
Parameter | Description |
(required) | SQL text of the procedure to create |
(optional) | Name of the procedure (can be extracted from SQL) |
(optional) | Schema name |
(optional) | Catalog name |
(optional) | Whether to replace procedure if it exists |
drop_procedure
Generate a Liquibase changeset for dropping a stored procedure.
Natural language input example:
Drop the GetUserById stored procedure
Parameters:
Parameter | Description |
(required) | Name of the procedure to drop |
(optional) | Schema name |
(optional) | Catalog name |
create_sequence
Generate a Liquibase changeset for creating a database sequence.
Natural language input example:
Create a user_id_seq sequence starting at 1000 with increment 1
Parameters:
Parameter | Description |
(required) | Name of the sequence to create |
(optional) | Schema name containing the sequence |
(optional) | Catalog name containing the sequence |
(optional) | Starting value for the sequence |
(optional) | Increment value for the sequence (default 1) |
(optional) | Minimum value for the sequence |
(optional) | Maximum value for the sequence |
(optional) | Whether the sequence should cycle when it reaches max/min value |
(optional) | Number of sequence values to cache |
(optional) | Whether sequence values should be ordered |
(optional) | Data type for the sequence (e.g., BIGINT) |
createSequence generated XML:
drop_sequence
Generate a Liquibase changeset for dropping a database sequence.
Natural language input example:
Drop the user_id_seq sequence
Parameters:
Parameter | Description |
(required) | Name of the sequence to drop |
(optional) | Schema name containing the sequence |
(optional) | Catalog name containing the sequence |
dropSequence generated XML
rename_sequence
Generate a Liquibase changeset for renaming a database sequence.
Natural language input example:
Rename the user_id_seq sequence to customer_id_seq
Parameters:
Parameter | Description |
(required) | Current name of the sequence to rename |
(required) | New name for the sequence |
(optional) | Schema name containing the sequence |
(optional) | Catalog name containing the sequence |
renameSequence generated XML
validate
Validate a Liquibase changeset XML against an H2 in-memory database to ensure it's syntactically correct and can be applied successfully.
Note: This tool can be used independently to validate any Liquibase changeset XML. All other tools automatically include validation in their output by default (configurable via LIQUIBASE_MCP_DISABLE_VALIDATIONenvironment variable).
Natural language input example:
Validate this changeset XML: <changeSet id="1" author="dev">...</changeSet>
Parameters:
Parameter | Description |
Validate this changeset XML |
|
sql
Execute raw SQL statements with full parameter control.
Natural language input example:
Execute SQL: INSERT INTO users (username, email) VALUES ('admin', 'admin@example.com') with splitStatements enabled
Parameters:
Parameter | Description |
(required) | The SQL statement(s) to execute |
(optional) | Custom statement delimiter (default |
(optional) | Whether to split on delimiters (default |
(optional) | Whether to strip SQL comments (default |
(optional) | Database-specific execution (e.g.,
|
SQL Generated XML
sql_file
Execute SQL from external files with path and encoding options.
Natural language input example:
Execute SQL from file: db/migrations/seed_data.sql with UTF-8 encoding relative to changelog
Parameters:
Parameter | Description |
(required) | Path to the SQL file |
(optional) | Path relative to changelog (default |
(optional) | File encoding (default UTF-8) |
(optional) | Custom statement delimiter (default |
(optional) | Whether to split on delimiters (default |
(optional) | Whether to strip SQL comments (default |
(optional) | Database-specific execution |
SQLfile generated XML
Output Format
All schema generation tools (create_table, add_column, etc.) return Liquibase XML changesets wrapped in markdown code blocks, followed by automatic validation results: