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_timestampcreate_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.