Codice che eseguo
$this->createTable('{{verified_sender}}', array(
"id" => "INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY",
"client_id" => "INT(11) UNSIGNED NOT NULL",
"kind" => "ENUM('MOBILE','ALIAS') NOT NULL",
"sender" => "VARCHAR(18) NOT NULL",
"status" => "ENUM('DENIED','PENDING','APPROVED') NOT NULL",
"ts" => "TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP",
), 'ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_general_ci');
Quando esamino la struttura della tabella l’informazione sul “collation” è vuota, tant’è che usando MySqlWorkbench e facendo un sync, il programma vuole eseguire
ALTER TABLE `sms_verified_sender` COLLATE = utf8_general_ci ;
A questo punto allora nella migration aggiungo
$this->execute("ALTER TABLE `" . DB_TABLE_PREFIX . "verified_sender` COLLATE = utf8_general_ci ;");
Anche DOPO aver droppato la tabella (usango migrate down) e rieseguito la migrazione (migrate up), la tabella NON ha comunque l’informazione sul collation…
Mi sfugge il motivo