FOR EACH ROW
BEGIN
DECLARE mid INT(11);
- IF (@DISABLE_TRIGGER IS NULL AND @DISABLE_TRIGGER_{$target_table} IS NULL ) THEN
+ IF (@DISABLE_TRIGGER IS NULL AND @DISABLE_TRIGGER_{$tbl} IS NULL ) THEN
";
foreach($map as $source_col=>$target) {
FOR EACH ROW
BEGIN
DECLARE mid INT(11);
- IF (@DISABLE_TRIGGER IS NULL AND @DISABLE_TRIGGER_{$target_table} IS NULL ) THEN
+ IF (@DISABLE_TRIGGER IS NULL AND @DISABLE_TRIGGER_{$tbl} IS NULL ) THEN
";
foreach($map as $source_col=>$target) {
WHERE
CCSA.collation_name = T.table_collation
AND
- T.table_schema = '{$ce->database()}' -- COLLATE utf8_unicode_ci
+ T.table_schema = '{$ce->database()}' -- COLLATE utf8_general_ci
AND
- T.table_name = '{$tbl}' -- COLLATE utf8_unicode_ci
+ T.table_name = '{$tbl}' -- COLLATE utf8_general_ci
");
$ce->fetch();
- if($ce->csname == 'utf8' && $ce->collatename == 'utf8_unicode_ci'){
+ if($ce->csname == 'utf8' && $ce->collatename == 'utf8_general_ci'){
echo "$tbl is Already utf8 \n";
continue;
}
+ // this used to be utf8_unicode_ci
+ //as the default collation for stored procedure parameters is utf8_general_ci and you can't mix collations.
$ce = DB_DataObject::factory('core_enum');
- $ce->query("ALTER TABLE {$tbl} CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci");
+ $ce->query("ALTER TABLE {$tbl} CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci");
echo "FIXED utf8 on {$tbl}\n";
}