sql >> Database >  >> RDS >> Mysql

Illegale mix van sorteerfouten van MySql tijdens het uitvoeren van een testsuite voor rails

Het toevoegen van de sortering:utf8_general_ci aan uw database.yml-bestand zoals u hebt gedaan, zou de slag moeten slaan. Probeer de testdatabase opnieuw te maken met behulp van "rake RAILS_ENV=test db:migrate:reset db:fixtures load" - waarschuwing dit zal alle gegevens die u daar heeft buiten de fixtures wissen.

Dat werkte voor mij. Om de sortering in de database, tabellen en kolommen te controleren, kunt u het volgende uitvoeren:

-- 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;

Alles in uw testdatabase zou nu de sortering moeten hebben die is gespecificeerd in database.yml.




  1. Databaseschema, automatisch verhogen

  2. Hoe u kunt profiteren van de nieuwe partitioneringsfuncties in PostgreSQL 11

  3. Menu met meerdere niveaus met PHP/MySQL

  4. Luister naar aflevering 2 van de Microsoft Access Podcast