Thank you for the clarification! SQL::Translator looks really impressive, but I fear that it is nontrivial to create the dumps for each DBMS (db user rights?) and that it may also not be stable enough to use SQL::Translator on those dumps for my purpose.
Recently, I have put a module on CPAN (DBIx::Table::TestDataGenerator). Currently, some methods related to finding out database metadata related to constraints have been abstracted into a role and for each DBMS I want to support the plan was to write a class impersonating that role. This gives me a good control over how the metadata is queried and I can even handle relevant DBMS version differences.
I would not want the code to crash because a dump cannot be created or read. On the other hand I don't want to reinvent the wheel and I acknowledge that it does not look too elegant handling each DBMS separately (although one learns a lot while doing this), maybe you can still convince me that using SQL::Translator is better.