Introducing Agent Safe Governance for the AI Era

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

tableName

(required)

Name of the table to create

columns

(required)

Array of column definitions

schemaName

(optional)

Schema name

catalogName

(optional)

Catalog name

tablespace

(optional)

Tablespace name

remarks

(optional)

Table comments

Column Definition:

Parameter

Description

name

(required)

Column name

type

(required)

Column type (e.g., "varchar(255)", "integer")

constraints

(optional)

Column constraints object

defaultValue

(optional)

Default string value

defaultValueNumeric

(optional)

Default numeric value

defaultValueBoolean

(optional)

Default boolean value

defaultValueDate

(optional)

Default date value

defaultValueComputed

(optional)

Computed default value

autoIncrement

(optional)

Auto-increment flag

startWith

(optional)

Auto-increment start value

incrementBy

(optional)

Auto-increment step

remarks

(optional)

Column comments

Constraints Object:

Parameter

Description

primaryKey

(optional)

Primary key flag

nullable

(optional)

Nullable flag

unique

(optional)

Unique constraint flag

uniqueConstraintName

(optional)

Unique constraint name

references

(optional)

Foreign key reference (format: "table.column")

foreignKeyName

(optional)

Foreign key constraint name

deleteCascade

(optional)

Delete cascade flag

deferrable

(optional)

Deferrable constraint flag

initiallyDeferred

(optional)

Initially deferred flag

add_column

Natural language input example:

Add a created_at timestamp column to the users table

Parameters:

Parameter

Description

tableName

(required)

Name of the existing table

columns

(required)

Array of column definitions to add

schemaName

(optional)

Schema name

catalogName

(optional)

Catalog name

Additional Column Properties:

Parameter

Description

position

(optional)

Position directive ("FIRST" or "AFTER column_name")

afterColumn

(optional)

Column after which to add this column

beforeColumn

(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

indexName

(required)

Name of the index

tableName

(required)

Name of the table

columns

(required)

Array of column names to include in index

schemaName

(optional)

Schema name

catalogName

(optional)

Catalog name

unique

(optional)

Whether index should be unique

tablespace

(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

tableName

(required)

Name of the table to drop

schemaName

(optional)

Schema name

catalogName

(optional)

Catalog name

cascadeConstraints

(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

tableName

(required)

Name of the existing table

columns

(required)

Array of column names to drop

schemaName

(optional)

Schema name

catalogName

(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

tableName

(required)

Name of the table containing the column

oldColumnName

(required)

Current name of the column to rename

newColumnName

(required)

New name for the column

schemaName

(optional)

Schema name

catalogName

(optional)

Catalog name

columnDataType

(optional)

Column data type (for type safety)

remarks

(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

viewName

(required)

Name of the view to create

selectQuery

(required)

SQL SELECT query that defines the view

schemaName

(optional)

Schema name containing the view

catalogName

(optional)

Catalog name containing the view

replaceIfExists

(optional)

Whether to replace the view if it already exists

remarks

(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

baseTableName

(required)

Table containing the foreign key column

baseColumnNames

(required)

Column(s) in the base table that form the foreign key

referencedTableName

(required)

Table being referenced

referencedColumnNames

(required)

Column(s) in the referenced table

constraintName

(optional)

Name for the foreign key constraint

schemaName

(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

triggerName

(required)

Name of the trigger to drop

tableName

(required)

Table the trigger is associated with

schemaName

(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

functionName

(required)

Name of the function

procedureBody

(required)

Function body SQL

schemaName

(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

constraintName

(required)

Name of the unique constraint to drop

tableName

(required)

Table containing the constraint

schemaName

(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

functionName

(required)

Name of the function to drop

schemaName

(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

tableName

(required)

Table to add the constraint to

columnNames

(required)

Column(s) to constrain

constraintName

(optional)

Name for the unique constraint

schemaName

(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

constraintName

(required)

Name of the foreign key constraint to drop

baseTableName

(required)

Table containing the foreign key

schemaName

(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

tableName

(required)

Table to add the primary key to

columnNames

(required)

Column(s) forming the primary key

constraintName

(optional)

Name for the primary key constraint

schemaName

(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

triggerName

(required)

Name of the trigger

tableName

(required)

Table the trigger is associated with

triggerBody

(required)

Trigger body SQL

schemaName

(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

tableName

(required)

Table to add the constraint to

checkCondition

(required)

SQL condition for the check constraint

constraintName

(optional)

Name for the check constraint

schemaName

(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

tableName

(required)

Table to drop the primary key from

constraintName

(optional)

Name of the primary key constraint

schemaName

(optional)

Schema name

loading

drop_view

Generate a Liquibase changeset for dropping a database view.

Natural language input example:

Drop the active_users view

Parameters:

Parameter

Description

viewName

(required)

Name of the view to drop

schemaName

(optional)

Schema name containing the view

catalogName

(optional)

Catalog name containing the view

loading

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

indexName

(required)

Name of the index to drop

tableName

(required)

Name of the table containing the index

schemaName

(optional)

Schema name

catalogName

(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

oldTableName

(required)

Current name of the table to rename

newTableName

(required)

New name for the table

schemaName

(optional)

Schema name

catalogName

(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

procedureText

(required)

SQL text of the procedure to create

procedureName

(optional)

Name of the procedure (can be extracted from SQL)

schemaName

(optional)

Schema name

catalogName

(optional)

Catalog name

replaceIfExists

(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

procedureName

(required)

Name of the procedure to drop

schemaName

(optional)

Schema name

catalogName

(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

sequenceName

(required)

Name of the sequence to create

schemaName

(optional)

Schema name containing the sequence

catalogName

(optional)

Catalog name containing the sequence

startValue

(optional)

Starting value for the sequence

incrementBy

(optional)

Increment value for the sequence (default 1)

minValue

(optional)

Minimum value for the sequence

maxValue

(optional)

Maximum value for the sequence

cycle

(optional)

Whether the sequence should cycle when it reaches max/min value

cacheSize

(optional)

Number of sequence values to cache

ordered

(optional)

Whether sequence values should be ordered

dataType

(optional)

Data type for the sequence (e.g., BIGINT)

createSequence generated XML:
loading

drop_sequence

Generate a Liquibase changeset for dropping a database sequence.

Natural language input example:

Drop the user_id_seq sequence

Parameters:

Parameter

Description

sequenceName

(required)

Name of the sequence to drop

schemaName

(optional)

Schema name containing the sequence

catalogName

(optional)

Catalog name containing the sequence

dropSequence generated XML
loading

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

oldSequenceName

(required)

Current name of the sequence to rename

newSequenceName

(required)

New name for the sequence

schemaName

(optional)

Schema name containing the sequence

catalogName

(optional)

Catalog name containing the sequence

renameSequence generated XML
loading

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

<changeSet id="1" author="dev">...</changeSet>

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

sql

(required)

The SQL statement(s) to execute

endDelimiter

(optional)

Custom statement delimiter (default ;)

splitStatements

(optional)

Whether to split on delimiters (default true)

stripComments

(optional)

Whether to strip SQL comments (default true)

dbms

(optional)

Database-specific execution (e.g.,

mysql, postgresql, oracle)

SQL Generated XML
loading

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

path

(required)

Path to the SQL file

relativeToChangelogFile

(optional)

Path relative to changelog (default false)

encoding

(optional)

File encoding (default UTF-8)

endDelimiter

(optional)

Custom statement delimiter (default ;)

splitStatements

(optional)

Whether to split on delimiters (default true)

stripComments

(optional)

Whether to strip SQL comments (default true)

dbms

(optional)

Database-specific execution

SQLfile generated XML
loading

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:

Output format example
loading