X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FProducer%2FSQLite.pm;h=30608753f565837f4d38edb7c5e6a378022b1803;hb=a25ac5d2649e414439ab60a075297361f2e5819d;hp=eea69c4146403bd7cfdc57fb53c48115e76b309c;hpb=75b8fbe8947a071a0ed53750af2e6f24a0ab2a40;p=dbsrgits%2FSQL-Translator.git diff --git a/lib/SQL/Translator/Producer/SQLite.pm b/lib/SQL/Translator/Producer/SQLite.pm index eea69c4..3060875 100644 --- a/lib/SQL/Translator/Producer/SQLite.pm +++ b/lib/SQL/Translator/Producer/SQLite.pm @@ -77,7 +77,10 @@ sub produce { } for my $view ( $schema->get_views ) { - push @table_defs, create_view($view, {no_comments => $no_comments,}); + push @table_defs, create_view($view, { + add_drop_view => $add_drop_table, + no_comments => $no_comments, + }); } # $create .= "COMMIT;\n"; @@ -123,6 +126,7 @@ sub mk_name { sub create_view { my ($view, $options) = @_; + my $add_drop_view = $options->{add_drop_view}; my $view_name = $view->name; debug("PKG: Looking at view '${view_name}'\n"); @@ -131,6 +135,7 @@ sub create_view { my $extra = $view->extra; my $create = ''; $create .= "--\n-- View: ${view_name}\n--\n" unless $options->{no_comments}; + $create .= "DROP VIEW IF EXISTS $view_name;\n" if $add_drop_view; $create .= 'CREATE'; $create .= " TEMPORARY" if exists($extra->{temporary}) && $extra->{temporary}; $create .= ' VIEW'; @@ -138,7 +143,7 @@ sub create_view { $create .= " ${view_name}"; if( my $sql = $view->sql ){ - $create .= " AS (\n ${sql}\n )"; + $create .= " AS\n ${sql}"; } $create .= ";\n\n"; return $create;