SYNOPSIS

     use SQL::AlterTable::SQLite qw(gen_sql_alter_table);
    
     my $sql_stmts = gen_sql_alter_table(
         dbh            => $dbh,
         table          => 't',
         delete_columns => ['b'],
         modify_columns => ['a', 'INT NOT NULL'],
         rename_columns => ['a', 'a2'],
         add_columns    => ['c', 'TEXT'],
         rename_table   => 't2',
     );

    The result:

     [
         'CREATE TABLE "_t_tmp" ("a2" INT NOT NULL)',
         'INSERT INTO "_t_tmp" ("a2") SELECT "a" FROM "t"',
         'DROP TABLE "t"',
         'ALTER TABLE "_t_tmp" RENAME TO "t2"',
         'ALTER TABLE "t2" ADD COLUMN "c" TEXT',
     ]

DESCRIPTION

SEE ALSO

      * SQL::Schema::Versioned

      You can feed the result of gen_sql_alter_table() to
      SQL::Schema::Versioned's create_or_update_db_schema.