Available tools in the Liquibase AI Changelog Generator
Last updated: June 9, 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 |
add_foreign_key
Generate a Liquibase changeset for adding a foreign key to a table.
Natural language input example:
Add a foreign key on orders.customer_id referencing the id column of the customers table
Parameters:
Parameter | Description |
(required) | Table containing the foreign key column |
(required) | Column(s) in the base table that form the foreign key |
(required) | Table being referenced |
(required) | Column(s) in the referenced table |
(optional) | Name for the foreign key constraint |
(optional) | Schema name |
drop_trigger
Generate a Liquibase changeset for dropping a trigger.
Natural language input example:
Drop the audit_trigger from the users table
Parameters:
Parameter | Description |
(required) | Name of the trigger to drop |
(required) | Table the trigger is associated with |
(optional) | Schema name |
create_function
Generate a Liquibase changeset for creating a database function.
Natural language input example:
Create a function called calculate_discount that takes a price and returns a discounted value
Parameters:
Parameter | Description |
(required) | Name of the function |
(required) | Function body SQL |
(optional) | Schema name |
drop_unique_constraint
Generate a Liquibase changeset for dropping a unique constraint on a column.
Natural language input example:
Drop the unique constraint uq_email from the users table
Parameters:
Parameter | Description |
(required) | Name of the unique constraint to drop |
(required) | Table containing the constraint |
(optional) | Schema name |
drop_function
Generate a Liquibase changeset for dropping a database function.
Natural language input example:
Drop the calculate_discount function
Parameters:
Parameter | Description |
(required) | Name of the function to drop |
(optional) | Schema name |
add_unique_constraint
Generate a Liquibase changeset for adding a unique constraint to a column.
Natural language input example:
Add a unique constraint on the email column of the users table
Parameters:
Parameter | Description |
(required) | Table to add the constraint to |
(required) | Column(s) to constrain |
(optional) | Name for the unique constraint |
(optional) | Schema name |
drop_foreign_key
Generate a Liquibase changeset for dropping a foreign key from a table.
Natural language input example:
Drop the foreign key fk_order_customer from the orders table
Parameters:
Parameter | Description |
(required) | Name of the foreign key constraint to drop |
(required) | Table containing the foreign key |
(optional) | Schema name |
add_primary_key
Generate a Liquibase changeset for adding a primary key to a table.
Natural language input example:
Add a primary key on the id column of the orders table
Parameters:
Parameter | Description |
(required) | Table to add the primary key to |
(required) | Column(s) forming the primary key |
(optional) | Name for the primary key constraint |
(optional) | Schema name |
create_trigger
Generate a Liquibase changeset for creating a trigger.
Natural language input example:
Create a trigger called set_updated_at that fires before UPDATE on the users table
Parameters:
Parameter | Description |
(required) | Name of the trigger |
(required) | Table the trigger is associated with |
(required) | Trigger body SQL |
(optional) | Schema name |
add_check_constraint
Generate a Liquibase changeset for adding a check constraint on a column.
Natural language input example:
Add a check constraint on the age column of the users table ensuring the value is greater than 0
Parameters:
Parameter | Description |
(required) | Table to add the constraint to |
(required) | SQL condition for the check constraint |
(optional) | Name for the check constraint |
(optional) | Schema name |
drop_primary_key
Generate a Liquibase changeset for dropping a primary key from a table.
Natural language input example:
Drop the primary key from the orders table
Parameters:
Parameter | Description |
(required) | Table to drop the primary key from |
(optional) | Name of the primary key constraint |
(optional) | Schema name |
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: