sql >> Base de Datos >  >> RDS >> Mysql

Mezcla ilegal de error de colaciones de MySql mientras se ejecuta el conjunto de pruebas de Rails

Agregar la intercalación:utf8_general_ci a su archivo base de datos.yml como lo ha hecho debería funcionar. Intente recrear la base de datos de prueba usando "rake RAILS_ENV=test db:migrate:reset db:fixtures load" - advirtiendo que esto borrará todos los datos que tenga más allá de los accesorios.

Eso funcionó para mí. Para verificar ver la intercalación en la base de datos, tablas y columnas, puede ejecutar lo siguiente:

-- Database Collations:
SELECT schema_name,default_character_set_name,default_collation_name 
FROM information_schema.SCHEMATA 
WHERE schema_name not IN ('mysql');

-- Table Collations:
SELECT T.table_schema, T.table_name, T.TABLE_COLLATION, CCSA.CHARACTER_SET_NAME 
FROM information_schema.`TABLES` T,
 information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA
WHERE CCSA.collation_name = T.table_collation
AND T.table_schema not IN ('mysql');

-- Column Collations:
SELECT table_schema, table_name, column_name, collation_name, character_set_name
FROM information_schema.`COLUMNS` C
WHERE C.table_schema not IN ('mysql')
ORDER BY 1,2,4;

Todo en su base de datos de prueba ahora debería tener la intercalación especificada en base de datos.yml.