Rails db: создать ошибку сортировки - PullRequest
1 голос
/ 01 октября 2009

У меня проблема при запуске rake db: create:

[root@zephyrnode /domain/rails/testapp ]# rake db:create --trace
(in /domain/rails/testapp)
** Invoke db:create (first_time)
** Invoke db:load_config (first_time)
** Invoke rails_env (first_time)
** Execute rails_env
** Execute db:load_config
** Execute db:create
Couldn't create database for {"adapter"=>"mysql", "encoding"=>"utf8", "collation"=>"utf8_bin", "reconnect"=>false, "database"=>"testapp_development", "pool"=>5, "username"=>"root", "password"=>"rootpass", "socket"=>"/var/run/mysqld/mysqld.sock", "host"=>"127.0.0.1"}, charset: utf8, collation: utf8_bin (if you set the charset manually, make sure you have a matching collation)

Я приложил всю возможную информацию о версии и настройках, о которой я могу думать ниже. Я перепробовал все решения, которые нашел в Google, и мне не повезло. У кого-нибудь есть какие-либо решения или предложения? Спасибо!

[root@zephyrnode /domain/rails/testapp ]# mysql --version
mysql  Ver 14.14 Distrib 5.1.38, for unknown-linux-gnu (x86_64) using  EditLine wrapper

mysql> show variables like "character_set_database";
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| character_set_database | utf8  |
+------------------------+-------+
1 row in set (0.00 sec)

mysql> show variables like "collation_database";
+--------------------+----------+
| Variable_name      | Value    |
+--------------------+----------+
| collation_database | utf8_bin |
+--------------------+----------+
1 row in set (0.00 sec)

[root@zephyrnode /domain/rails/testapp ]# ruby -v
ruby 1.9.1p243 (2009-07-16 revision 24175) [x86_64-linux]

[root@zephyrnode /domain/rails/testapp ]# rails -v
Rails 2.3.4

[root@zephyrnode /domain/rails/testapp ]# gem -v
1.3.5

[root@zephyrnode /domain/rails/testapp ]# gem list

*** LOCAL GEMS ***

actionmailer (2.3.4)
actionpack (2.3.4)
activerecord (2.3.4)
activeresource (2.3.4)
activesupport (2.3.4)
cgi_multipart_eof_fix (2.5.0)
daemons (1.0.10)
fastthread (1.0.7)
gem_plugin (0.2.3)
mysql (2.8.1)
rack (1.0.0)
rails (2.3.4)
rake (0.8.7)
rubygems-update (1.3.5)

My database.yml:

development:
  adapter: mysql
  encoding: utf8
  collation: utf8_bin
  reconnect: false
  database: testapp_development
  pool: 5
  username: root
  password: rootpass
  socket: /var/run/mysqld/mysqld.sock
  host: 127.0.0.1

Ответы [ 2 ]

0 голосов
/ 11 июня 2011

Измените строку сортировки в вашем файле database.yml на любую следующую: show variables like "collation_server";.

Тогда попробуйте rake RAILS_ENV=development db:create.

0 голосов
/ 11 декабря 2009

Вы пытались не указывать параметры сортировки? Я указываю кодировку, а не параметры сортировки для моей базы данных MySQL, используя utf8, и она работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...