Ну, это общая проблема для нас, начинающих.Эта проблема возникает с момента, когда вы создаете свой новый проект в рельсах.Допустим, у нас есть пример
$ rails new toy –d mysql
- После того, как вы выполните сборку и запустите свой сервер, скорее всего, у вас будет ошибка.Чтобы исправить это, вам нужно перейти к database.yml и изменить следующее:
Добавьте пароль в поле пароля, как показано ниже, это пароль, который вы используете дляsecure mysql.
default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: root
password: mypassword
socket: /tmp/mysql.sock
Кроме того, закомментируйте базу данных, добавив хеш-тег (#) перед именем, как показано ниже
development:
: *default
database: #toy_development
- Затем перезапустите командную строку и перейдитев корень вашего приложения и введите:
$ rails s
Вы должны увидеть страницу приветствия Ruby on Rails ..
- После этого вам необходимо создать базу данных.
Создать базу данных.
В сообщении о проблеме говорится, что не выбрана база данных.Это потому, что я не создал его.Когда вы работаете с MySQL, вы должны создать его, поэтому:
- Перейдите в корень моего приложения и введите:
$ mysql –u root –p
$ Passwor: mypassword (Enter your password, this is the one you entered to secure MySQL)
Примечание: Этот пример работает с проектом под названием toy , и пользователь, которому я хотел предоставить привилегии, - mark , а пароль, который я дам - 45mark .Ниже вы увидите, где я применяю эти элементы.Не забудьте применить свои собственные элементы к каждой части утверждения.
Создать и использовать для этого проекта
- Когда вы войдете, вы увидите указатель( mysql> ), введите после него:
mysql> GRANT ALL PRIVILEGES ON toy_development.* TO 'mark'@'localhost' IDENTIFIED BY '45mark';
mysql> exit;
- Проверьтечто он работает, набрав:
$ mysql –u mark –p toy_development
Enter password: 45mark (You enter the one you gave)
- Откройте database.yml файл и настройте то, что нужно, и исправьте при необходимости.В моем случае я получу возможность пометить имя пользователя и пароль 45mark
default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: mark
password: 45mark
socket: /tmp/mysql.sock
- Также REMOVE хэш-тег (#), добавленный до
development:
: *default
database: toy_development
Сохраните его.
- Перейдите в корень приложения и введите
$ rake db:schema:dump
Готово !!
Iнадеюсь это поможет.Удачного кодирования !!
Спасибо