X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FParser%2FXML%2FSQLFairy.pm;h=f8135cef5b70bfde47a0d9751f9ea83686838ec7;hb=af858b8a3d8b1677d0ef7cca159f227948c36a2f;hp=e079f601aff4ebdd45a2dcaefecd93d4971842a2;hpb=782b5a43519d2713171767f74a544fe9892542ea;p=dbsrgits%2FSQL-Translator.git diff --git a/lib/SQL/Translator/Parser/XML/SQLFairy.pm b/lib/SQL/Translator/Parser/XML/SQLFairy.pm index e079f60..f8135ce 100644 --- a/lib/SQL/Translator/Parser/XML/SQLFairy.pm +++ b/lib/SQL/Translator/Parser/XML/SQLFairy.pm @@ -1,8 +1,6 @@ package SQL::Translator::Parser::XML::SQLFairy; # ------------------------------------------------------------------- -# $Id$ -# ------------------------------------------------------------------- # Copyright (C) 2003 Mark Addison , # # This program is free software; you can redistribute it and/or @@ -100,10 +98,11 @@ To convert your old format files simply pass them through the translator :) use strict; use vars qw[ $DEBUG $VERSION @EXPORT_OK ]; -$VERSION = '1.99'; +$VERSION = '1.59'; $DEBUG = 0 unless defined $DEBUG; use Data::Dumper; +use Carp; use Exporter; use base qw(Exporter); @EXPORT_OK = qw(parse); @@ -234,9 +233,24 @@ sub parse { ); foreach (@nodes) { my %data = get_tagfields($xp, $_, "sqlf:", qw/ - name perform_action_when database_event fields on_table action order + name perform_action_when database_event database_events fields on_table action order extra /); + + # back compat + if (my $evt = $data{database_event}) { + carp 'The database_event tag is deprecated - please use database_events, which can take multiple comma separated event names'; + $data{database_events} = join (', ', + $data{database_events} || (), + $evt, + ); + } + + # split into arrayref + if (my $evts = $data{database_events}) { + $data{database_events} = [split (/\s*,\s*/, $evts) ]; + } + $schema->add_trigger( %data ) or die $schema->error; }