Merge 'current' into 'back-compat'
[dbsrgits/DBIx-Class-Schema-Loader.git] / t / 14ora_common.t
CommitLineData
e7262300 1use strict;
2use lib qw(t/lib);
3use dbixcsl_common_tests;
4
5my $dsn = $ENV{DBICTEST_ORA_DSN} || '';
6my $user = $ENV{DBICTEST_ORA_USER} || '';
7my $password = $ENV{DBICTEST_ORA_PASS} || '';
8
9my $tester = dbixcsl_common_tests->new(
10 vendor => 'Oracle',
c1ac681d 11 auto_inc_pk => 'INTEGER NOT NULL PRIMARY KEY',
12 auto_inc_cb => sub {
13 my ($table, $col) = @_;
14 return (
15 qq{ CREATE SEQUENCE ${table}_${col}_seq START WITH 1 INCREMENT BY 1},
16 qq{
17 CREATE OR REPLACE TRIGGER ${table}_${col}_trigger
18 BEFORE INSERT ON ${table}
19 FOR EACH ROW
20 BEGIN
21 SELECT ${table}_${col}_seq.nextval INTO :NEW.${col} FROM dual;
22 END;
23 }
24 );
25 },
26 auto_inc_drop_cb => sub {
27 my ($table, $col) = @_;
28 return qq{ DROP SEQUENCE ${table}_${col}_seq };
29 },
e7262300 30 dsn => $dsn,
31 user => $user,
32 password => $password,
33);
34
35if( !$dsn || !$user ) {
36 $tester->skip_tests('You need to set the DBICTEST_ORA_DSN, _USER, and _PASS environment variables');
37}
38else {
39 $tester->run_tests();
40}