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