Upgrade of 4.1.3dev to newer DB has coalition errors

tmccormi wrote on Friday, June 13, 2014:

The mysqldump of this db (before upgrade) has all CHARSET=latin1

Processing 4_1_2-to-4_1_3_upgrade.sql …

Updating global configuration defaults…
ERROR: query failed: SELECT * FROM lang_definitions JOIN lang_constants ON lang_definitions.cons_id = lang_constants.cons_id WHERE lang_id=? AND constant_name = ? LIMIT 1

Error: Illegal mix of collations (latin1_bin,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation ‘=’

–Tony

tmccormi wrote on Friday, June 13, 2014:

I fixed it (apparently) by doing this:

SELECT table_schema, table_name, column_name, character_set_name, collation_name FROM information_schema.columns WHERE collation_name = 'latin1_bin' ORDER BY table_schema, table_name,ordinal_position;
+--------------+----------------+---------------+--------------------+----------------+
| table_schema | table_name     | column_name   | character_set_name | collation_name |
+--------------+----------------+---------------+--------------------+----------------+
| openemr_msl  | lang_constants | constant_name | latin1             | latin1_bin     |
+--------------+----------------+---------------+--------------------+----------------+
1 row in set (0.04 sec)


mysql> ALTER TABLE lang_constants CONVERT TO CHARACTER SET utf8 COLLATE 'utf8_general_ci';

Query OK, 5743 rows affected (0.04 sec)
Records: 5743 Duplicates: 0 Warnings: 0