The Perl Toolchain Summit 2025 Needs You: You can help 🙏 Learn more

#!/usr/bin/perl
# vim: set ft=perl:
use strict;
use Test::More tests => 2;
use Test::SQL::Translator qw(maybe_plan);
use FindBin qw/$Bin/;
{
my $view1 = SQL::Translator::Schema::View->new(
name => 'view_foo',
fields => [qw/id name/],
sql => 'SELECT id, name FROM thing',
extra => {
temporary => 1,
if_not_exists => 1,
}
);
my $create_opts = { no_comments => 1 };
my $view1_sql1 = [ SQL::Translator::Producer::SQLite::create_view($view1, $create_opts) ];
my $view_sql_replace = [
'CREATE TEMPORARY VIEW IF NOT EXISTS view_foo AS
SELECT id, name FROM thing'
];
is_deeply($view1_sql1, $view_sql_replace, 'correct "CREATE TEMPORARY VIEW" SQL');
my $view2 = SQL::Translator::Schema::View->new(
name => 'view_foo',
fields => [qw/id name/],
sql => 'SELECT id, name FROM thing',
);
my $view1_sql2 = [ SQL::Translator::Producer::SQLite::create_view($view2, $create_opts) ];
my $view_sql_noreplace = [
'CREATE VIEW view_foo AS
SELECT id, name FROM thing'
];
is_deeply($view1_sql2, $view_sql_noreplace, 'correct "CREATE VIEW" SQL');
}