Hi, I recently upgrade to 13.1.1 and noticed some changes from the schema sync tool.
I have two database on different servers and didn’t touch for a while. When I run the schema sync tool, it treats almost all the timestamp columns with default value ‘current_timestamp’ as a “different column”.
And the script looks like below, which the “DEFAULT_GENERATED” was not there before.
ALTER TABLE config.block_list
CHANGE create_timestamp
create_timestamp
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP DEFAULT_GENERATED after comment
Also, if the table is doesn’t exist in target database, the create table script looks like below. This time the additional “DEFAULT” key word at the end of “create_timestamp” causes syntax error.
/* Create table in target */
CREATE TABLE config.block_list
(
block_list_id
int(11) NOT NULL auto_increment ,
bloomberg_id
varchar(30) COLLATE utf8_general_ci NOT NULL ,
cds_spread_ticker
varchar(20) COLLATE utf8_general_ci NULL ,
start_date
date NOT NULL ,
end_date
date NOT NULL DEFAULT ‘9999-12-31’ ,
comment
varchar(1000) COLLATE utf8_general_ci NULL ,
create_timestamp
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP DEFAULT ,
PRIMARY KEY (block_list_id
) ,
UNIQUE KEY idx_unique
(bloomberg_id
,cds_spread_ticker
)
) ENGINE=InnoDB DEFAULT CHARSET=’utf8′ COLLATE=’utf8_general_ci’;
Not sure it only happened in version 13.1.1 but that’s something I captured recently.
Thanks,
Michael