Ошибка при запуске "rake db: create RAILS_ENV = 'development'" - PullRequest
0 голосов
/ 19 мая 2010

Я получаю эту ошибку в моем терминале, когда я выполняю команду выше,

Deans-MacBook:depot dean$ rake db:create RAILS_ENV='development'
(in /Users/dean/src/RailsBook/depot) Couldn't create database for {"username"=>"root", "adapter"=>"mysql", "database"=>"depot_development", "host"=>"localhost", "password"=>nil}, charset: utf8, collation: utf8_unicode_ci (if you set the charset manually, make sure you have a matching collation)

В файле конфигурации базы данных у меня есть следующее:

development:
    adapter: mysql 
    database: depot_development 
    username: root
    password: 
    host: localhost        

У меня установлен mysql gem, и теперь я не уверен, что делать дальше. Я бегу снежного барса на Macbook. Кто-нибудь знает, почему происходит эта ошибка? Заранее спасибо
Декан
EDIT
Выполнил команду в комментарии и получил следующее:

Deans-MacBook:depot dean$ rake -t db:create RAILS_ENV='development'
(in /Users/dean/src/RailsBook/depot)
** 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 {"username"=>"root", "adapter"=>"mysql", "database"=>"depot_development", "host"=>"localhost", "password"=>nil}, charset: utf8, collation: utf8_unicode_ci (if you set the charset manually, make sure you have a matching collation)

РЕДАКТИРОВАТЬ 2 Я удалил гем MySQL и переустановил его, и я заметил, что здесь произошла ошибка:

Deans-MacBook:~ dean$ sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
Building native extensions.  This could take a while...
Successfully installed mysql-2.8.1
1 gem installed
Installing ri documentation for mysql-2.8.1...

No definition for next_result

No definition for field_name

No definition for field_table

No definition for field_def

No definition for field_type

No definition for field_length

No definition for field_max_length

No definition for field_flags

No definition for field_decimals

No definition for time_inspect

No definition for time_to_s

No definition for time_get_year

No definition for time_get_month

No definition for time_get_day

No definition for time_get_hour

No definition for time_get_minute

No definition for time_get_second

No definition for time_get_neg

No definition for time_get_second_part

No definition for time_set_year

No definition for time_set_month

No definition for time_set_day

No definition for time_set_hour

No definition for time_set_minute

No definition for time_set_second

No definition for time_set_neg

No definition for time_set_second_part

No definition for time_equal

No definition for error_errno

No definition for error_sqlstate
Installing RDoc documentation for mysql-2.8.1...

No definition for next_result

No definition for field_name

No definition for field_table

No definition for field_def

No definition for field_type

No definition for field_length

No definition for field_max_length

No definition for field_flags

No definition for field_decimals

No definition for time_inspect

No definition for time_to_s

No definition for time_get_year

No definition for time_get_month

No definition for time_get_day

No definition for time_get_hour

No definition for time_get_minute

No definition for time_get_second

No definition for time_get_neg

No definition for time_get_second_part

No definition for time_set_year

No definition for time_set_month

No definition for time_set_day

No definition for time_set_hour

No definition for time_set_minute

No definition for time_set_second

No definition for time_set_neg

No definition for time_set_second_part

No definition for time_equal

No definition for error_errno

No definition for error_sqlstate

Надеюсь, это поможет.

Ответы [ 3 ]

1 голос
/ 21 мая 2010

Обновление решения до 64-битной версии mysql.

0 голосов
/ 21 сентября 2010

Переустановите mysql-сервер и mysql-клиент с помощью этой команды:

sudo apt-get install mysql-server mysql-client

и вот несколько библиотек, которые необходимо установить, чтобы MySQL был доступен для ruby:

sudo apt-get install libmysql-ruby

Это все решило мою проблему. Попытайся !!! :)

0 голосов
/ 20 мая 2010

Дикая догадка - пароль не настроен на вашем экземпляре Mysql? Вы пытались удалить строку password из config / database.yml?

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