NAME
    SQL::Admin - Maintain database schemas

SYNOPSIS
       use SQL::Admin;

       # Merge multiple SQL files
       my $catalog = SQL::Admin
          ->get_catalog
          ->load ('DB2', { file => [ 'create-schema.sql', 'update-001.sql' ] })
          ->save ('Pg', { file  => [ 'output.sql' ] });

       # ... deploy catalog
       $catalog->save ('Pg::DBI', { dbdsn  => ... });

       # Sync SQL files and db
       my $src = SQL::Admin->get_catalog;
          ->load ('Pg::DBI', { dbdsn => ... });

       my $dst = SQL::Admin->get_catalog;
          ->load ('Pg', { file => [ 'create-schema.sql' ] });

       my $diff = SQL::Admin->compare ($src, $dst);

       if ($diff->is_difference) {
           $diff->save ('Pg');
           $diff->save ('Pg::DBI', { dbdsn => ... });
       }

DESCRIPTION
