SQL::Translator::FilteUserlContributed PerlSQL::Translator::Filter::Globals(3)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;
DESCRIPTION
Adds 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_ Table
An 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::Translator
BUGS
Will 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.
TODO
Some extra data values that can be used to control the global addition.
e.g. 'skip_global'.
AUTHOR
Mark Addison <grommit@users.sourceforge.net>
perl v5.14.22011-05-0SQL::Translator::Filter::Globals(3)