github.com/mattermost/mattermost-server/v6@v6.7.2/config/migrations/mysql/000001_create_configurations.up.sql (about) 1 CREATE TABLE IF NOT EXISTS Configurations ( 2 Id VARCHAR(26) PRIMARY KEY, 3 Value TEXT NOT NULL, 4 CreateAt BIGINT NOT NULL, 5 Active BOOLEAN NULL UNIQUE 6 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 7 8 SET @preparedStatement = (SELECT IF( 9 ( 10 SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS 11 WHERE table_name = 'Configurations' 12 AND table_schema = DATABASE() 13 AND column_name = 'Value' 14 AND NOT data_type = 'MEDIUMTEXT' 15 ) > 0, 16 'ALTER TABLE Configurations MODIFY Value 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 = 'Configurations' 32 AND C.CHARACTER_SET_NAME != 'utf8mb4' 33 ) > 0, 34 'ALTER TABLE Configurations CONVERT TO CHARACTER SET utf8mb4;', 35 'SELECT 1' 36 )); 37 38 PREPARE alterIfExists FROM @preparedStatement; 39 EXECUTE alterIfExists; 40 DEALLOCATE PREPARE alterIfExists; 41 42