github.com/mattermost/mattermost-server/v6@v6.7.2/config/migrations/mysql/000002_create_configuration_files.up.sql (about) 1 CREATE TABLE IF NOT EXISTS ConfigurationFiles ( 2 Name VARCHAR(64) PRIMARY KEY, 3 Data TEXT NOT NULL, 4 CreateAt BIGINT NOT NULL, 5 UpdateAt BIGINT NOT NULL 6 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 7 8 SET @preparedStatement = (SELECT IF( 9 ( 10 SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS 11 WHERE table_name = 'ConfigurationFiles' 12 AND table_schema = DATABASE() 13 AND column_name = 'Data' 14 AND NOT data_type = 'MEDIUMTEXT' 15 ) > 0, 16 'ALTER TABLE ConfigurationFiles MODIFY Data MEDIUMTEXT;', 17 'SELECT 1' 18 )); 19 20 PREPARE alterIfExists FROM @preparedStatement; 21 EXECUTE alterIfExists; 22 DEALLOCATE PREPARE alterIfExists; 23 24 SET @preparedStatement = (SELECT IF( 25 ( 26 SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES AS T 27 JOIN INFORMATION_SCHEMA.COLUMNS AS C USING (TABLE_SCHEMA, TABLE_NAME) 28 JOIN INFORMATION_SCHEMA.COLLATION_CHARACTER_SET_APPLICABILITY AS CCSA ON (T.TABLE_COLLATION = CCSA.COLLATION_NAME) 29 WHERE TABLE_SCHEMA = DATABASE() 30 AND C.DATA_TYPE IN ('enum', 'varchar', 'char', 'text', 'mediumtext', 'longtext') 31 AND TABLE_NAME = 'ConfigurationFiles' 32 AND C.CHARACTER_SET_NAME != 'utf8mb4' 33 ) > 0, 34 'ALTER TABLE ConfigurationFiles CONVERT TO CHARACTER SET utf8mb4;', 35 'SELECT 1' 36 )); 37 38 PREPARE alterIfExists FROM @preparedStatement; 39 EXECUTE alterIfExists; 40 DEALLOCATE PREPARE alterIfExists;