X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F30sqlt-new-diff-mysql.t;h=2df13b5bbe69155da86efd7fb86855cf0a4909b4;hb=5e48784e9e449d1d79da28fc059c95006b709397;hp=3bd1653e1502e1a9353d1e36c18d7786a9c95230;hpb=aee4b66eb2152b7066ced4def46e0223eb1649b1;p=dbsrgits%2FSQL-Translator.git diff --git a/t/30sqlt-new-diff-mysql.t b/t/30sqlt-new-diff-mysql.t index 3bd1653..2df13b5 100644 --- a/t/30sqlt-new-diff-mysql.t +++ b/t/30sqlt-new-diff-mysql.t @@ -39,7 +39,7 @@ my @out = SQL::Translator::Diff::schema_diff( $target_schema, 'MySQL', { no_batch_alters => 1, - producer_args => { quote_table_names => 0 } + producer_args => { quote_identifiers => 0 } } ); @@ -55,7 +55,7 @@ BEGIN; SET foreign_key_checks=0; CREATE TABLE added ( - id integer(11) + id integer(11) NULL ); SET foreign_key_checks=1; @@ -70,19 +70,19 @@ ALTER TABLE person DROP INDEX u_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 NULL; -ALTER TABLE person ADD COLUMN is_rock_star tinyint(4) DEFAULT 1; +ALTER TABLE person ADD COLUMN is_rock_star tinyint(4) NULL DEFAULT 1; ALTER TABLE person CHANGE COLUMN person_id person_id integer(11) NOT NULL auto_increment; ALTER TABLE person CHANGE COLUMN name name varchar(20) NOT NULL; -ALTER TABLE person CHANGE COLUMN age age integer(11) DEFAULT 18; +ALTER TABLE person CHANGE COLUMN age age integer(11) NULL DEFAULT 18; -ALTER TABLE person CHANGE COLUMN iq iq integer(11) DEFAULT 0; +ALTER TABLE person CHANGE COLUMN iq iq integer(11) NULL DEFAULT 0; -ALTER TABLE person CHANGE COLUMN description physical_description text; +ALTER TABLE person CHANGE COLUMN description physical_description text NULL; ALTER TABLE person ADD UNIQUE INDEX unique_name (name); @@ -106,7 +106,7 @@ COMMIT; $out = SQL::Translator::Diff::schema_diff($source_schema, 'MySQL', $target_schema, 'MySQL', { ignore_index_names => 1, ignore_constraint_names => 1, - producer_args => { quote_table_names => 0 }, + producer_args => { quote_identifiers => 0 }, }); eq_or_diff($out, <<'## END OF DIFF', "Diff as expected"); @@ -117,7 +117,7 @@ BEGIN; SET foreign_key_checks=0; CREATE TABLE added ( - id integer(11) + id integer(11) NULL ); SET foreign_key_checks=1; @@ -125,15 +125,15 @@ SET foreign_key_checks=1; ALTER TABLE employee DROP COLUMN job_title; ALTER TABLE old_name RENAME TO new_name, - ADD COLUMN new_field integer; + ADD COLUMN new_field integer NULL; ALTER TABLE person DROP INDEX UC_age_name, - ADD COLUMN is_rock_star tinyint(4) DEFAULT 1, + ADD COLUMN is_rock_star tinyint(4) NULL DEFAULT 1, CHANGE COLUMN person_id person_id integer(11) NOT NULL auto_increment, CHANGE COLUMN name name varchar(20) NOT NULL, - CHANGE COLUMN age age integer(11) DEFAULT 18, - CHANGE COLUMN iq iq integer(11) DEFAULT 0, - CHANGE COLUMN description physical_description text, + CHANGE COLUMN age age integer(11) NULL DEFAULT 18, + CHANGE COLUMN iq iq integer(11) NULL DEFAULT 0, + CHANGE COLUMN description physical_description text NULL, ADD UNIQUE UC_person_id (person_id), ADD UNIQUE UC_age_name (age, name), ENGINE=InnoDB; @@ -178,7 +178,7 @@ eq_or_diff($out, <<'## END OF DIFF', "No differences found"); my $field = $target_schema->get_table('employee')->get_field('employee_id'); $field->data_type('integer'); $field->size(0); - $out = SQL::Translator::Diff::schema_diff($schema, 'MySQL', $target_schema, 'MySQL', { producer_args => { quote_table_names => 0 } } ); + $out = SQL::Translator::Diff::schema_diff($schema, 'MySQL', $target_schema, 'MySQL', { producer_args => { quote_identifiers => 0 } } ); eq_or_diff($out, <<'## END OF DIFF', "No differences found"); -- Convert schema 'create.sql' to 'create2.yml':; @@ -187,7 +187,7 @@ BEGIN; SET foreign_key_checks=0; CREATE TABLE added ( - id integer(11) + id integer(11) NULL ); SET foreign_key_checks=1; @@ -198,12 +198,13 @@ ALTER TABLE employee DROP FOREIGN KEY FK5302D47D93FE702E, ALTER TABLE person DROP INDEX UC_age_name, DROP INDEX u_name, - ADD COLUMN is_rock_star tinyint(4) DEFAULT 1, + ADD COLUMN is_rock_star tinyint(4) NULL DEFAULT 1, + ADD COLUMN value double(8, 2) NULL DEFAULT 0.00, CHANGE COLUMN person_id person_id integer(11) NOT NULL auto_increment, CHANGE COLUMN name name varchar(20) NOT NULL, - CHANGE COLUMN age age integer(11) DEFAULT 18, - CHANGE COLUMN iq iq integer(11) DEFAULT 0, - CHANGE COLUMN description physical_description text, + CHANGE COLUMN age age integer(11) NULL DEFAULT 18, + CHANGE COLUMN iq iq integer(11) NULL DEFAULT 0, + CHANGE COLUMN description physical_description text NULL, ADD UNIQUE INDEX unique_name (name), ADD UNIQUE UC_person_id (person_id), ADD UNIQUE UC_age_name (age, name), @@ -257,7 +258,7 @@ BEGIN; ALTER TABLE employee DROP FOREIGN KEY FK5302D47D93FE702E_diff; -ALTER TABLE employee ADD COLUMN new integer, +ALTER TABLE employee ADD COLUMN new integer NULL, ADD CONSTRAINT FK5302D47D93FE702E_diff FOREIGN KEY (employee_id) REFERENCES person (person_id) ON DELETE CASCADE, ADD CONSTRAINT new_constraint FOREIGN KEY (employee_id) REFERENCES patty (fake); @@ -316,7 +317,7 @@ COMMIT; # Test quoting works too. $out = SQL::Translator::Diff::schema_diff($s1, 'MySQL', $s2, 'MySQL', - { producer_args => { quote_table_names => '`' } } + { producer_args => { quote_identifiers => 1 } } ); eq_or_diff($out, <<'## END OF DIFF', "Quoting can be turned on"); -- Convert schema 'Schema 3' to 'Schema 4':; @@ -324,8 +325,8 @@ COMMIT; BEGIN; ALTER TABLE `employee` RENAME TO `fnord`, - DROP FOREIGN KEY bar_fk, - ADD CONSTRAINT foo_fk FOREIGN KEY (employee_id) REFERENCES `foo` (id); + DROP FOREIGN KEY `bar_fk`, + ADD CONSTRAINT `foo_fk` FOREIGN KEY (`employee_id`) REFERENCES `foo` (`id`); COMMIT;