}
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";
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");
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';
$create .= " ${view_name}";
if( my $sql = $view->sql ){
- $create .= " AS (\n ${sql}\n )";
+ $create .= " AS\n ${sql}";
}
$create .= ";\n\n";
return $create;