Моя установка
- Ubuntu 10.10
- Rails 3
- gem = sqlite3 и sqlite3-ruby
- gem = mysql2
Теперь я создал приложение под названием mytestapp, используя
rails new mytestapp
Как обычно с rails 3, по умолчанию используется база данных sqlite3.Теперь я хотел изменить базу данных для mytestapp, чтобы она использовала базу данных MySql.
Я внес изменения здесь
- database.yml
- gemfile - я добавил gem 'mysql2' и удалено gem 'sqlite3'
Мой новый database.yml выглядел примерно так
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: mytestapp_development
pool: 5
username: mytestapp
password: hacked
socket: /var/run/mysqld/mysqld.sock
Теперь я иду localhost: 3000 и нажмите о среде разработки приложения Я получаю следующую ошибку
ActiveRecord :: ConnectionNotEstablished
MySql user mytestapp имеет соответствующие разрешения для базы данных.
Фактически, когда я создаю новое приложение rails, используя следующее
rails new anotherapp -d mysql
Это прекрасно работает.Чего здесь не хватает.