Commit | Line | Data |
9a95164d |
1 | use strict; |
1c94fb11 |
2 | use lib qw(t/backcompat/0.04006/lib); |
9a95164d |
3 | use dbixcsl_common_tests; |
1c94fb11 |
4 | use Test::More; |
fb3bb595 |
5 | plan skip_all => 'set SCHEMA_LOADER_TESTS_BACKCOMPAT to enable these tests' |
1c94fb11 |
6 | unless $ENV{SCHEMA_LOADER_TESTS_BACKCOMPAT}; |
7 | |
9a95164d |
8 | |
9 | my $dsn = $ENV{DBICTEST_ORA_DSN} || ''; |
10 | my $user = $ENV{DBICTEST_ORA_USER} || ''; |
11 | my $password = $ENV{DBICTEST_ORA_PASS} || ''; |
12 | |
13 | my $tester = dbixcsl_common_tests->new( |
14 | vendor => 'Oracle', |
15 | auto_inc_pk => 'INTEGER NOT NULL PRIMARY KEY', |
16 | auto_inc_cb => sub { |
17 | my ($table, $col) = @_; |
18 | return ( |
19 | qq{ CREATE SEQUENCE ${table}_${col}_seq START WITH 1 INCREMENT BY 1}, |
20 | qq{ |
21 | CREATE OR REPLACE TRIGGER ${table}_${col}_trigger |
22 | BEFORE INSERT ON ${table} |
23 | FOR EACH ROW |
24 | BEGIN |
25 | SELECT ${table}_${col}_seq.nextval INTO :NEW.${col} FROM dual; |
26 | END; |
27 | } |
28 | ); |
29 | }, |
30 | auto_inc_drop_cb => sub { |
31 | my ($table, $col) = @_; |
32 | return qq{ DROP SEQUENCE ${table}_${col}_seq }; |
33 | }, |
34 | dsn => $dsn, |
35 | user => $user, |
36 | password => $password, |
37 | ); |
38 | |
39 | if( !$dsn || !$user ) { |
40 | $tester->skip_tests('You need to set the DBICTEST_ORA_DSN, _USER, and _PASS environment variables'); |
41 | } |
42 | else { |
43 | $tester->run_tests(); |
44 | } |