X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F46xml-to-pg.t;h=3df784951a4d6e363b49718b782a536dcb5fbb5e;hb=f59b2c0e0d3cad2e98ed0eb440720f85a8f33a6f;hp=7bb025f042dd9b76b55f08982581279b0e8603f1;hpb=08d91aada45b94a16f3660b5cc10384df5616ff9;p=dbsrgits%2FSQL-Translator.git diff --git a/t/46xml-to-pg.t b/t/46xml-to-pg.t index 7bb025f..3df7849 100644 --- a/t/46xml-to-pg.t +++ b/t/46xml-to-pg.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; @@ -20,7 +21,7 @@ my $xmlfile = "$Bin/data/xml/schema.xml"; my $sqlt; $sqlt = SQL::Translator->new( no_comments => 1, - show_warnings => 1, + show_warnings => 0, add_drop_table => 1, ); @@ -32,20 +33,36 @@ my $sql = $sqlt->translate( filename => $xmlfile, ) or die $sqlt->error; -is($sql, << "SQL"); -DROP TABLE "Basic"; +eq_or_diff($sql, << "SQL"); +DROP TABLE "Basic" CASCADE; CREATE TABLE "Basic" ( "id" serial NOT NULL, "title" character varying(100) DEFAULT 'hello' NOT NULL, "description" text DEFAULT '', - "email" character varying(255), + "email" character varying(500), "explicitnulldef" character varying, "explicitemptystring" character varying DEFAULT '', -- Hello emptytagdef "emptytagdef" character varying DEFAULT '', + "another_id" integer DEFAULT '2', "timest" timestamp(0), PRIMARY KEY ("id"), - Constraint "emailuniqueindex" UNIQUE ("email") + CONSTRAINT "emailuniqueindex" UNIQUE ("email") ); CREATE INDEX "titleindex" on "Basic" ("title"); + +DROP TABLE "Another" CASCADE; +CREATE TABLE "Another" ( + "id" serial NOT NULL, + PRIMARY KEY ("id") +); + +DROP VIEW "email_list"; +CREATE VIEW "email_list" ( "email" ) AS + SELECT email FROM Basic WHERE (email IS NOT NULL) +; + +ALTER TABLE "Basic" ADD FOREIGN KEY ("another_id") + REFERENCES "Another" ("id") DEFERRABLE; + SQL