X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F46xml-to-pg.t;h=61a354d00c788fa6558a153074e2db67b78f3083;hb=6b7dc6f7e74f797ac91d45e7eb87e711bd16508b;hp=0fd269c2a2550628fe0efa2ba76ed508a78d7f24;hpb=cc00c034bcfb007c0e4db411949a3af5c0ff6900;p=dbsrgits%2FSQL-Translator.git diff --git a/t/46xml-to-pg.t b/t/46xml-to-pg.t index 0fd269c..61a354d 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,31 +33,46 @@ my $sql = $sqlt->translate( filename => $xmlfile, ) or die $sqlt->error; -is($sql, << "SQL"); +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), + "another_id" integer DEFAULT 2, + "timest" timestamp, PRIMARY KEY ("id"), - Constraint "emailuniqueindex" UNIQUE ("email") + CONSTRAINT "emailuniqueindex" UNIQUE ("email"), + CONSTRAINT "very_long_index_name_on_title_field_which_should_be_truncated_for_various_rdbms" UNIQUE ("title") ); CREATE INDEX "titleindex" on "Basic" ("title"); - DROP TABLE "Another" CASCADE; CREATE TABLE "Another" ( "id" serial NOT NULL, + "num" numeric(10,2), PRIMARY KEY ("id") ); +DROP VIEW "email_list"; +CREATE VIEW "email_list" ( "email" ) AS + SELECT email FROM Basic WHERE (email IS NOT NULL) +; + +DROP TRIGGER IF EXISTS foo_trigger; + +CREATE TRIGGER foo_trigger after insert ON Basic update modified=timestamp();; + +DROP TRIGGER IF EXISTS bar_trigger; + +CREATE TRIGGER bar_trigger before insert OR update ON Basic update modified2=timestamp();; + ALTER TABLE "Basic" ADD FOREIGN KEY ("another_id") - REFERENCES "Another" ("id"); + REFERENCES "Another" ("id") DEFERRABLE; + SQL