SYNOPSIS use SQL::AlterTable::SQLite qw(gen_sql_alter_table); my $sql_statements = gen_sql_alter_table( dbh => $dbh, table => 'foo', delete_columns => ['d1', 'd2'], add_columns => ['a1', 'INT', 'a2', 'TEXT'], modify_columns => ['m1', 'INT NOT NULL', 'm2', 'INT'], rename_columns => ['r1', 'nr1', 'r2', 'nr2'], ); DESCRIPTION SEE ALSO * SQL::AlterTable::SQLite You can feed the result of gen_sql_alter_table() to SQL::AlterTable::SQLite's create_or_update_db_schema.