use Test::More;
use Test::SQL::Translator;
use Test::Exception;
+use Test::Differences;
use Data::Dumper;
use SQL::Translator;
use SQL::Translator::Schema::Constants;
my $sqlt;
$sqlt = SQL::Translator->new(
no_comments => 1,
+ quote_table_names => 0,
+ quote_field_names => 0,
show_warnings => 0,
add_drop_table => 1,
);
filename => $xmlfile,
) or die $sqlt->error;
-my $want = [
+my $want = [
'DROP TABLE Basic CASCADE CONSTRAINTS',
'DROP SEQUENCE sq_Basic_id',
'CREATE SEQUENCE sq_Basic_id',
title varchar2(100) DEFAULT \'hello\' NOT NULL,
description clob DEFAULT \'\',
email varchar2(500),
- explicitnulldef varchar2,
- explicitemptystring varchar2 DEFAULT \'\',
- emptytagdef varchar2 DEFAULT \'\',
+ explicitnulldef varchar2(4000),
+ explicitemptystring varchar2(4000) DEFAULT \'\',
+ emptytagdef varchar2(4000) DEFAULT \'\',
another_id number(10) DEFAULT \'2\',
timest date,
PRIMARY KEY (id),
- CONSTRAINT emailuniqueindex UNIQUE (email)
+ CONSTRAINT u_Basic_emailuniqueindex UNIQUE (email),
+ CONSTRAINT u_Basic_very_long_index_name_o UNIQUE (title)
)',
'DROP TABLE Another CASCADE CONSTRAINTS',
'DROP SEQUENCE sq_Another_id',
num number(10,2),
PRIMARY KEY (id)
)',
+'DROP VIEW email_list',
'CREATE VIEW email_list AS
SELECT email FROM Basic WHERE (email IS NOT NULL)',
'ALTER TABLE Basic ADD CONSTRAINT Basic_another_id_fk FOREIGN KEY (another_id) REFERENCES Another (id)',
'CREATE OR REPLACE TRIGGER ts_Basic_timest
BEFORE INSERT OR UPDATE ON Basic
FOR EACH ROW WHEN (new.timest IS NULL)
-BEGIN
+BEGIN
SELECT sysdate INTO :new.timest FROM dual;
END;
',
is_deeply(\@sql, $want, 'Got correct Oracle statements in list context');
-is($sql_string, q|DROP TABLE Basic CASCADE CONSTRAINTS;
+eq_or_diff($sql_string, q|DROP TABLE Basic CASCADE CONSTRAINTS;
DROP SEQUENCE sq_Basic_id01;
title varchar2(100) DEFAULT 'hello' NOT NULL,
description clob DEFAULT '',
email varchar2(500),
- explicitnulldef varchar2,
- explicitemptystring varchar2 DEFAULT '',
- emptytagdef varchar2 DEFAULT '',
+ explicitnulldef varchar2(4000),
+ explicitemptystring varchar2(4000) DEFAULT '',
+ emptytagdef varchar2(4000) DEFAULT '',
another_id number(10) DEFAULT '2',
timest date,
PRIMARY KEY (id),
- CONSTRAINT emailuniqueindex UNIQUE (email)
+ CONSTRAINT u_Basic_emailuniqueindex01 UNIQUE (email),
+ CONSTRAINT u_Basic_very_long_index_name01 UNIQUE (title)
);
DROP TABLE Another CASCADE CONSTRAINTS;
PRIMARY KEY (id)
);
+DROP VIEW email_list;
+
CREATE VIEW email_list AS
SELECT email FROM Basic WHERE (email IS NOT NULL);
CREATE OR REPLACE TRIGGER ts_Basic_timest01
BEFORE INSERT OR UPDATE ON Basic
FOR EACH ROW WHEN (new.timest IS NULL)
-BEGIN
+BEGIN
SELECT sysdate INTO :new.timest FROM dual;
END;
/
INTO :new.id
FROM dual;
END;
-/|);
+/
+
+|);