X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F30sqlt-new-diff-pgsql.t;h=ba61ee5b10b7d752d89945f3f2115682b16b9092;hb=cb9bbc68fe26aa563d28d590221f6a0235b4062e;hp=0926514fc4b6c0773e300ce92f269d1f30a9cfc0;hpb=3406fd5b1839f1e6d165ae39b86e08effc80ac2c;p=dbsrgits%2FSQL-Translator.git diff --git a/t/30sqlt-new-diff-pgsql.t b/t/30sqlt-new-diff-pgsql.t index 0926514..ba61ee5 100644 --- a/t/30sqlt-new-diff-pgsql.t +++ b/t/30sqlt-new-diff-pgsql.t @@ -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,18 +40,19 @@ my $out = SQL::Translator::Diff::schema_diff( $target_schema, 'PostgreSQL', { - producer_options => { - quote_table_names => 0, + producer_args => { + quote_identifiers => 0, } } ); + eq_or_diff($out, <<'## END OF DIFF', "Diff as expected"); -- Convert schema 'create1.yml' to 'create2.yml':; BEGIN; CREATE TABLE added ( - "id" bigint + id bigint ); ALTER TABLE old_name RENAME TO new_name; @@ -66,7 +67,7 @@ ALTER TABLE employee DROP COLUMN job_title; ALTER TABLE new_name ADD COLUMN new_field integer; -ALTER TABLE person ADD COLUMN is_rock_star smallint DEFAULT '1'; +ALTER TABLE person ADD COLUMN is_rock_star smallint DEFAULT 1; ALTER TABLE person ALTER COLUMN person_id TYPE serial; @@ -76,16 +77,20 @@ 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 "unique_name" UNIQUE (name); +ALTER TABLE person ADD CONSTRAINT unique_name UNIQUE (name); -ALTER TABLE employee ADD FOREIGN KEY (employee_id) +ALTER TABLE employee ADD CONSTRAINT FK5302D47D93FE702E_diff FOREIGN KEY (employee_id) REFERENCES person (person_id) DEFERRABLE; -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; @@ -98,7 +103,7 @@ $out = SQL::Translator::Diff::schema_diff( $source_schema, 'PostgreSQL', $target_schema, 'PostgreSQL', { ignore_index_names => 1, ignore_constraint_names => 1, - producer_options => { + producer_args => { quote_table_names => 0, quote_field_names => 0, } @@ -109,7 +114,7 @@ eq_or_diff($out, <<'## END OF DIFF', "Diff as expected"); BEGIN; -CREATE TABLE added02 ( +CREATE TABLE added ( id bigint ); @@ -119,9 +124,9 @@ ALTER TABLE person DROP CONSTRAINT UC_age_name; ALTER TABLE employee DROP COLUMN job_title; -ALTER TABLE new_name ADD COLUMN new_field02 integer; +ALTER TABLE new_name ADD COLUMN new_field integer; -ALTER TABLE person ADD COLUMN is_rock_star02 smallint DEFAULT '1'; +ALTER TABLE person ADD COLUMN is_rock_star smallint DEFAULT 1; ALTER TABLE person ALTER COLUMN person_id TYPE serial; @@ -131,11 +136,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_id3" UNIQUE (person_id); +ALTER TABLE person ADD CONSTRAINT UC_person_id UNIQUE (person_id); -ALTER TABLE person ADD CONSTRAINT "UC_age_name3" UNIQUE (age, name); +ALTER TABLE person ADD CONSTRAINT UC_age_name UNIQUE (age, name); DROP TABLE deleted CASCADE;