JRuby, Rails 2.3.5, базы данных MySQL не создаются с помощью rake db:create:all

Основная информация:

Ruby version : 1.8.7
JRuby version: 1.5.3 
Rails version: 2.3.5
Mysql version: Ver 14.14 Distrib 5.1.48, for apple-darwin10.3.0 (i386) using readline 5.1

Я провел чертовски много времени, пытаясь заставить JRuby, Rails и MySQL хорошо работать вместе. Я зашел в тупик и теперь мне нужна помощь.

Я установил то, что я считаю правильными драгоценными камнями, позволяющими JRoR общаться с MySQL. Список драгоценных камней, которые я установил, приведен ниже. Как я пытаюсь создать приложение JRoR + MySQL, выглядит так:

$ jruby -S rails -d mysql app_name
$ cd app_name

Откройте Textmate и настройте config/database.yml, изменив все адаптеры с «mysql» на «jdbcmysql».

Снова в Терминале:

$ jruby -S script/generate scaffold post title:string content:text
$ rake db:create:all

На данный момент rake ничего не выдает, чтобы сообщить мне, что базы данных были созданы. Вот результат попытки запустить мою миграцию:

$ rake db:migrate

rake aborted!
The driver encountered an unknown error: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'app_name_development'

Я понятия не имею, что я делаю неправильно, и был бы очень признателен за помощь.

Вот мой текущий список драгоценных камней:

$ jruby -S gem list

* МЕСТНЫЕ ЖЕМЧУЖИНЫ *

abstract (1.0.0)
actionmailer (3.0.0, 2.3.5)
actionpack (3.0.0, 2.3.5)
activemodel (3.0.0)
activerecord (3.0.0, 2.3.5)
activerecord-jdbc-adapter (1.0.2, 0.9.7)
activerecord-jdbcmysql-adapter (1.0.2, 0.9.7)
activerecord-jdbcsqlite3-adapter (0.9.7)
activeresource (3.0.0, 2.3.5)
activesupport (3.0.0, 2.3.10, 2.3.5)
after_commit (1.0.8)
arel (1.0.1)
bouncy-castle-java (1.5.0145.2)
builder (2.1.2)
bundler (1.0.2)
columnize (0.3.1)
erubis (2.6.6)
gem_plugin (0.2.3)
i18n (0.4.1)
jdbc-mysql (5.0.4)
jdbc-sqlite3 (3.6.3.054)
jruby-jars (1.5.3)
jruby-openssl (0.7.2)
jruby-rack (1.0.3)
mail (2.2.7)
mime-types (1.16)
mongrel (1.1.5)
polyglot (0.3.1)
rack (1.2.1, 1.0.1)
rack-mount (0.6.13)
rack-test (0.5.6)
rails (2.3.5)
railties (3.0.0)
rake (0.8.7)
riddle (1.1.0)
rspec (1.3.0)
ruby-debug (0.10.3)
ruby-debug-base (0.10.3.2)
rubyzip (0.9.4)
sources (0.0.1)
thinking-sphinx (1.3.20)
thor (0.14.3)
treetop (1.4.8)
tzinfo (0.3.23)
warbler (1.2.1)
will_paginate (2.3.15)

person Joel Andritsch    schedule 10.11.2010    source источник
comment
У кого-нибудь еще есть идеи? Пока я так и не приблизился к разгадке этой тайны.   -  person Joel Andritsch    schedule 12.11.2010


Ответы (2)



Я заметил ошибку «Неизвестная база данных 'app_name_development'». Является ли app_name_development действительно именем вашей базы данных в database.yml? Просто проверяю, иначе было бы очень интересно.

Я предполагаю, что вы не подключаетесь к MySQL с учетной записью root. Если это так, имеет ли пользователь, с которым вы подключаетесь, права на создание базы данных app_name_development? По умолчанию только root может создавать базы данных. Вы можете предоставить своему пользователю разрешение примерно так:

GRANT CREATE on app_name_development.* to 'user'@'host';
person bioneuralnet    schedule 10.11.2010
comment
Для MySQL я использую root в качестве пользователя без пароля. Эта конфигурация отлично работает в Ruby on Rails и MySQL, но JRuby on Rails с MySQL, похоже, не работает вместе на моей машине. - person Joel Andritsch; 11.11.2010
comment
Имена моих баз данных в database.yml: app_name_development, app_name_test, app_name_production, где имя моего приложения Rails на самом деле app_name. - person Joel Andritsch; 11.11.2010