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
=> ... });
}