|
NAMESQL::Translator::Filter::Globals - Add global fields and indices to all tables.SYNOPSIS# e.g. Add timestamp field to all tables. use SQL::Translator; my $sqlt = SQL::Translator->new( from => 'MySQL', to => 'MySQL', filters => [ Globals => { fields => [ { name => 'modified' data_type => 'TIMESTAMP' } ], indices => [ { fields => 'modifed', }, ] constraints => [ { } ] }, ], ) || die "SQLFairy error : ".SQL::Translator->error; my $sql = $sqlt->translate || die "SQLFairy error : ".$sqlt->error; DESCRIPTIONAdds global fields, indices and constraints to all tables in the schema. The globals to add can either be defined in the filter args or using a _GLOBAL_ table (see below).If a table already contains a field with the same name as a global then it is skipped for that table. The _GLOBAL_ TableAn alternative to using the args is to add a table called "_GLOBAL_" to the schema and then just use the filter. Any fields and indices defined on this table will be added to all the tables in the schema and the _GLOBAL_ table removed.The name of the global can be changed using a "global_table" arg to the filter. SEE ALSOperl(1), SQL::TranslatorBUGSWill generate duplicate indices if an index already exists on a table the same as one added globally.Will generate duplicate constraints if a constraint already exists on a table the same as one added globally. TODOSome extra data values that can be used to control the global addition. e.g. 'skip_global'.AUTHORMark Addison <grommit@users.sourceforge.net>
Visit the GSP FreeBSD Man Page Interface. |