2010-11-10 46 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