Commit | Line | Data |
3ee75ce1 |
1 | #!/usr/bin/perl |
2 | # vim: set ft=perl: |
3 | |
4 | use strict; |
5 | use Test::More tests => 2; |
6 | use Test::SQL::Translator qw(maybe_plan); |
7 | use FindBin qw/$Bin/; |
8 | |
9 | use SQL::Translator::Schema::View; |
10 | use SQL::Translator::Producer::SQLite; |
11 | |
12 | { |
13 | my $view1 = SQL::Translator::Schema::View->new( |
14 | name => 'view_foo', |
15 | fields => [qw/id name/], |
16 | sql => 'SELECT id, name FROM thing', |
17 | extra => { |
18 | temporary => 1, |
19 | if_not_exists => 1, |
20 | } |
21 | ); |
22 | my $create_opts = { no_comments => 1 }; |
23 | my $view1_sql1 = |
4c0d31c1 |
24 | [ SQL::Translator::Producer::SQLite::create_view( $view1, $create_opts ) ]; |
3ee75ce1 |
25 | |
2d23c1e1 |
26 | my $view_sql_replace = [ 'CREATE TEMPORARY VIEW IF NOT EXISTS view_foo AS |
f6e49d34 |
27 | SELECT id, name FROM thing' ]; |
4c0d31c1 |
28 | is_deeply( $view1_sql1, $view_sql_replace, 'correct "CREATE TEMPORARY VIEW" SQL' ); |
3ee75ce1 |
29 | |
30 | my $view2 = SQL::Translator::Schema::View->new( |
31 | name => 'view_foo', |
32 | fields => [qw/id name/], |
33 | sql => 'SELECT id, name FROM thing', |
34 | ); |
35 | |
36 | my $view1_sql2 = |
4c0d31c1 |
37 | [ SQL::Translator::Producer::SQLite::create_view( $view2, $create_opts ) ]; |
2d23c1e1 |
38 | my $view_sql_noreplace = [ 'CREATE VIEW view_foo AS |
f6e49d34 |
39 | SELECT id, name FROM thing' ]; |
4c0d31c1 |
40 | is_deeply( $view1_sql2, $view_sql_noreplace, 'correct "CREATE VIEW" SQL' ); |
3ee75ce1 |
41 | } |