2010-11-10 25 views
0

基本信息:的JRuby,Rails的2.3.5,MySQL數據庫沒有與耙分貝創建:創建:所有

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的,並從「MySQL的」,以「jdbcmysql」改變所有適配器配置的config/database.yml的。

回到Terminal:

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

此時,耙不吐什麼告訴我的數據庫創建。這裏是試圖運行我的遷移的結果:

$ 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) 
+0

其他人有想法嗎?到目前爲止,我還沒有接近解決這個謎團。 – 2010-11-12 04:07:21

回答

1

你不應該需要將數據庫名稱更改爲jdbcmysql,事實上,這樣做打敗了db:create(:all)

http://jruby-extras.rubyforge.org/activerecord-jdbc-adapter/

+0

我試着把它默認爲(mysql),並在步驟「jruby script/generate jdbc」中添加。運行rake db:create after產生「無法創建數據庫」的錯誤。 – 2010-11-10 17:25:58

0

我注意到 「未知數據庫」app_name_development「 錯誤。 app_name_development是否真的是database.yml中數據庫的名稱?只是檢查,因爲如果沒有,那將是非常有趣的。

我假設你沒有用root帳戶連接到MySQL。如果是這樣,那麼您連接的用戶是否有權創建數據庫app_name_development?默認情況下,只有root可以創建數據庫。您可以授予您的用戶權限,如下所示:

GRANT CREATE on app_name_development.* to 'user'@'host'; 
+0

對於MySQL,我使用root用戶而沒有通過。這種配置在Ruby on Rails和MySQL中工作得很好,但帶有MySQL的JRuby on Rails似乎不能在我的機器上一起工作。 – 2010-11-10 21:35:02

+0

database.yml中我的數據庫的名稱是app_name_development,app_name_test,app_name_production,其中我的Rails應用程序的名稱非常「app_name」。 – 2010-11-10 21:35:24