mysqldump -d database > test_database.schema echo create database test_database | mysql mysql test_database < test_database.schema #### mysqldump test_database > test_database.schema #### mysql test_database < test_database.schema mysql test_database < alter_database mysql test_database < add_test_data ./Build test #### mysql database < alter_database #### use Algorithm::Diff; my @a = grep( !/Database:/, split('\n', `mysqldump -d tasker`)); my @b = grep( !/Database:/, split('\n', `mysqldump -d test_tasker`)); my $diff = Algorithm::Diff->new( \@a, \@b ); while($diff->Next()) { next if $diff->Same(); next if /Database:/; print "< $_\n" for $diff->Items(1); print "> $_\n" for $diff->Items(2); }