my $user = $ENV{DBICTEST_ORA_USER} || '';
my $password = $ENV{DBICTEST_ORA_PASS} || '';
+sub _custom_column_info {
+ my $info = shift;
+
+ if ( $info->{TYPE_NAME} eq 'DATE' ){
+ return { timezone => "Europe/Berlin" };
+ }
+ return;
+}
+
my $tester = dbixcsl_common_tests->new(
vendor => 'Oracle',
+ custom_column_info => \&_custom_column_info,
auto_inc_pk => 'INTEGER NOT NULL PRIMARY KEY',
auto_inc_cb => sub {
my ($table, $col) = @_;
dsn => $dsn,
user => $user,
password => $password,
- extra => {
- create => [
- q{
- CREATE TABLE oracle_loader_test1 (
- id INTEGER PRIMARY KEY,
- a_varchar VARCHAR2(100) DEFAULT 'foo',
- an_int INTEGER DEFAULT 42,
- a_double DOUBLE PRECISION DEFAULT 10.555,
- a_date DATE DEFAULT sysdate
- )
- },
- ],
- drop => [ qw/ oracle_loader_test1 / ],
- count => 5,
- run => sub {
- my ($schema, $monikers, $classes) = @_;
-
- my $rsrc = $schema->resultset($monikers->{oracle_loader_test1})
- ->result_source;
-
- is $rsrc->column_info('a_varchar')->{default_value},
- 'foo',
- 'constant character default';
+ extra => {
+ create => [qq{
+ CREATE TABLE oracle_loader_test1 (
+ id number(5) NOT NULL,
+ name varchar2(100) NOT NULL,
+ create_date date NOT NULL,
+ modification_date date,
+ PRIMARY KEY (id)
+ )
+ },],
+ drop => [qw/ oracle_loader_test1 /],
+ count => 2,
+ run => sub {
+ my ( $schema, $monikers, $classes ) = @_;
+ my $rs = $schema->resultset( $monikers->{oracle_loader_test1} );
- is $rsrc->column_info('an_int')->{default_value},
- 42,
- 'constant integer default';
+ is $rs->result_source->column_info('create_date')->{timezone},
+ 'Europe/Berlin',
+ 'create_date hast timezone';
- is $rsrc->column_info('a_double')->{default_value},
- 10.555,
- 'constant numeric default';
+ is $rs->result_source->column_info('modification_date')->{timezone},
+ 'Europe/Berlin',
+ 'modification_date hast timezone';
- my $function_default =
- $rsrc->column_info('a_date')->{default_value};
-
- ok ((ref $function_default eq 'SCALAR'),
- 'default_value for function default is a scalar ref')
- or diag "default_value is: ", $function_default
- ;
-
- eval { is $$function_default,
- 'sysdate',
- 'default_value for function default is correct' };
},
- },
+ }
+
);
if( !$dsn || !$user ) {