Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lỗi kết hợp bất hợp pháp của lỗi đối chiếu từ MySql khi chạy bộ thử nghiệm rails

Thêm đối chiếu:utf8_general_ci vào tệp database.yml của bạn giống như bạn đã làm sẽ thực hiện thủ thuật. Hãy thử tạo lại cơ sở dữ liệu thử nghiệm bằng cách sử dụng "rake RAILS_ENV =test db:migrate:reset db:fixtures load" - cảnh báo điều này sẽ xóa tất cả dữ liệu bạn có ở đó ngoài đồ đạc.

Điều đó đã làm việc cho tôi. Để xác minh xem đối chiếu trên cơ sở dữ liệu, bảng và cột, bạn có thể thực hiện như sau:

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

Mọi thứ trong cơ sở dữ liệu thử nghiệm của bạn bây giờ phải có đối chiếu được chỉ định trong database.yml.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sqlite hay MySql? Làm thế nào để quyết định?

  2. Hỗ trợ giao dịch công cụ MyIsam

  3. SQL:Làm cách nào tôi có thể cập nhật một giá trị trên một cột chỉ khi giá trị đó là null?

  4. Kiểm soát phiên bản MySQL - Subversion

  5. Cần trợ giúp lại về cách tham gia bảng