Improve trigger 'scope' attribute support (RT#119997)
[dbsrgits/SQL-Translator.git] / t / 30sqlt-new-diff-pgsql.t
index 0481a60..5bc7820 100644 (file)
@@ -25,7 +25,7 @@ my ( $source_schema, $target_schema, $parsed_sql_schema ) = map {
       or die $tr->error;
     my $out = $t->translate( catfile($Bin, qw/data diff pgsql/, $_ ) )
       or die $tr->error;
-    
+
     my $schema = $t->schema;
     unless ( $schema->name ) {
         $schema->name( $_ );
@@ -40,54 +40,59 @@ my $out = SQL::Translator::Diff::schema_diff(
     $target_schema,
    'PostgreSQL',
    {
-     producer_options => {
-         quote_table_names => 0,
+     producer_args => {
+         quote_identifiers => 1,
      }
    }
 );
+
 eq_or_diff($out, <<'## END OF DIFF', "Diff as expected");
 -- Convert schema 'create1.yml' to 'create2.yml':;
 
 BEGIN;
 
-CREATE TABLE added (
+CREATE TABLE "added" (
   "id" bigint
 );
 
-ALTER TABLE old_name RENAME TO new_name;
+ALTER TABLE "employee" DROP CONSTRAINT "FK5302D47D93FE702E";
 
-ALTER TABLE employee DROP CONSTRAINT FK5302D47D93FE702E;
+ALTER TABLE "employee" DROP COLUMN "job_title";
 
-ALTER TABLE person DROP CONSTRAINT UC_age_name;
+ALTER TABLE "employee" ADD CONSTRAINT "FK5302D47D93FE702E_diff" FOREIGN KEY ("employee_id")
+  REFERENCES "person" ("person_id") DEFERRABLE;
 
-DROP INDEX u_name;
+ALTER TABLE "old_name" RENAME TO "new_name";
 
-ALTER TABLE employee DROP COLUMN job_title;
+ALTER TABLE "new_name" ADD COLUMN "new_field" integer;
 
-ALTER TABLE new_name ADD COLUMN new_field integer;
+ALTER TABLE "person" DROP CONSTRAINT "UC_age_name";
 
-ALTER TABLE person ADD COLUMN is_rock_star smallint DEFAULT '1';
+DROP INDEX "u_name";
 
-ALTER TABLE person ALTER COLUMN person_id TYPE serial;
+ALTER TABLE "person" ADD COLUMN "is_rock_star" smallint DEFAULT 1;
 
-ALTER TABLE person ALTER COLUMN name SET NOT NULL;
+ALTER TABLE "person" ALTER COLUMN "person_id" TYPE serial;
 
-ALTER TABLE person ALTER COLUMN age SET DEFAULT 18;
+ALTER TABLE "person" ALTER COLUMN "name" SET NOT NULL;
 
-ALTER TABLE person ALTER COLUMN iq TYPE bigint;
+ALTER TABLE "person" ALTER COLUMN "age" SET DEFAULT 18;
 
-ALTER TABLE person RENAME COLUMN description TO physical_description;
+ALTER TABLE "person" ALTER COLUMN "iq" TYPE bigint;
 
-ALTER TABLE person ADD CONSTRAINT "unique_name" UNIQUE (name);
+ALTER TABLE "person" ALTER COLUMN "nickname" SET NOT NULL;
 
-ALTER TABLE employee ADD FOREIGN KEY (employee_id)
-  REFERENCES person (person_id) DEFERRABLE;
+ALTER TABLE "person" ALTER COLUMN "nickname" TYPE character varying(24);
 
-ALTER TABLE person ADD CONSTRAINT "UC_person_id" UNIQUE (person_id);
+ALTER TABLE "person" RENAME COLUMN "description" TO "physical_description";
 
-ALTER TABLE person ADD CONSTRAINT "UC_age_name" UNIQUE (age, name);
+ALTER TABLE "person" ADD CONSTRAINT "unique_name" UNIQUE ("name");
 
-DROP TABLE deleted CASCADE;
+ALTER TABLE "person" ADD CONSTRAINT "UC_person_id" UNIQUE ("person_id");
+
+ALTER TABLE "person" ADD CONSTRAINT "UC_age_name" UNIQUE ("age", "name");
+
+DROP TABLE "deleted" CASCADE;
 
 
 COMMIT;
@@ -98,9 +103,8 @@ $out = SQL::Translator::Diff::schema_diff(
     $source_schema, 'PostgreSQL', $target_schema, 'PostgreSQL',
     { ignore_index_names => 1,
       ignore_constraint_names => 1,
-      producer_options => {
-         quote_table_names => 0,
-         quote_field_names => 0,
+      producer_args => {
+         quote_identifiers => 0,
       }
     });
 
@@ -113,15 +117,15 @@ CREATE TABLE added (
   id bigint
 );
 
-ALTER TABLE old_name RENAME TO new_name;
-
-ALTER TABLE person DROP CONSTRAINT UC_age_name;
-
 ALTER TABLE employee DROP COLUMN job_title;
 
+ALTER TABLE old_name RENAME TO new_name;
+
 ALTER TABLE new_name ADD COLUMN new_field integer;
 
-ALTER TABLE person ADD COLUMN is_rock_star smallint DEFAULT '1';
+ALTER TABLE person DROP CONSTRAINT UC_age_name;
+
+ALTER TABLE person ADD COLUMN is_rock_star smallint DEFAULT 1;
 
 ALTER TABLE person ALTER COLUMN person_id TYPE serial;
 
@@ -131,11 +135,15 @@ ALTER TABLE person ALTER COLUMN age SET DEFAULT 18;
 
 ALTER TABLE person ALTER COLUMN iq TYPE bigint;
 
+ALTER TABLE person ALTER COLUMN nickname SET NOT NULL;
+
+ALTER TABLE person ALTER COLUMN nickname TYPE character varying(24);
+
 ALTER TABLE person RENAME COLUMN description TO physical_description;
 
-ALTER TABLE person ADD CONSTRAINT "UC_person_id" UNIQUE (person_id);
+ALTER TABLE person ADD CONSTRAINT UC_person_id UNIQUE (person_id);
 
-ALTER TABLE person ADD CONSTRAINT "UC_age_name" UNIQUE (age, name);
+ALTER TABLE person ADD CONSTRAINT UC_age_name UNIQUE (age, name);
 
 DROP TABLE deleted CASCADE;