X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F51-xml-to-oracle.t;h=2486246c49d8a5493c246df3078eab9c09129d33;hb=HEAD;hp=7f802a69f237c035e506cc912d95b0835ee9251a;hpb=3dbdbf992121a8d84c3f282507305e033ffcff51;p=dbsrgits%2FSQL-Translator.git diff --git a/t/51-xml-to-oracle.t b/t/51-xml-to-oracle.t index 7f802a6..2486246 100644 --- a/t/51-xml-to-oracle.t +++ b/t/51-xml-to-oracle.t @@ -5,6 +5,7 @@ use FindBin qw/$Bin/; use Test::More; use Test::SQL::Translator; use Test::Exception; +use Test::Differences; use Data::Dumper; use SQL::Translator; use SQL::Translator::Schema::Constants; @@ -19,6 +20,8 @@ my $xmlfile = "$Bin/data/xml/schema.xml"; my $sqlt; $sqlt = SQL::Translator->new( no_comments => 1, + quote_table_names => 0, + quote_field_names => 0, show_warnings => 0, add_drop_table => 1, ); @@ -37,7 +40,7 @@ my $sql_string = $sqlt->translate( 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', @@ -45,24 +48,27 @@ my $want = [ id number(10) NOT NULL, title varchar2(100) DEFAULT \'hello\' NOT NULL, description clob DEFAULT \'\', - email varchar2(255), - explicitnulldef varchar2, - explicitemptystring varchar2 DEFAULT \'\', - emptytagdef varchar2 DEFAULT \'\', + email varchar2(500), + 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', 'CREATE SEQUENCE sq_Another_id', 'CREATE TABLE Another ( id number(10) NOT NULL, + 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', +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 ai_Basic_id BEFORE INSERT ON Basic @@ -78,7 +84,7 @@ END; '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; ', @@ -97,7 +103,7 @@ 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; @@ -107,14 +113,15 @@ CREATE TABLE Basic ( id number(10) NOT NULL, title varchar2(100) DEFAULT 'hello' NOT NULL, description clob DEFAULT '', - email varchar2(255), - explicitnulldef varchar2, - explicitemptystring varchar2 DEFAULT '', - emptytagdef varchar2 DEFAULT '', + email varchar2(500), + 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; @@ -125,11 +132,14 @@ CREATE SEQUENCE sq_Another_id01; CREATE TABLE Another ( id number(10) NOT NULL, + 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; +SELECT email FROM Basic WHERE (email IS NOT NULL); ALTER TABLE Basic ADD CONSTRAINT Basic_another_id_fk01 FOREIGN KEY (another_id) REFERENCES Another (id); @@ -150,7 +160,7 @@ END; 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; / @@ -165,4 +175,6 @@ BEGIN INTO :new.id FROM dual; END; -/|); +/ + +|);