Rails rake db:create 报错?请教是什么问题 [新手]

echorenyuan · 2012年02月14日 · 最后由 Tassandar_ 回复于 2012年02月22日 · 7227 次阅读

安装了 rails,然后创建了项目,执行 rake db:create,报错,本人新手请问是什么问题!怎么解决

D:\isongtaste\web>rake db:create db/test.sqlite3 already exists rake aborted! uninitialized constant Mysql

Tasks: TOP => db:create (See full trace by running task with --trace)

检查 database.yml

我怀疑 1:

database 的设置还是默认的 sqlite

我怀疑 2:

database 的 mysql 填写不准确

#1 楼 @metal

development:
  adapter: mysql
  encoding: utf8
  database: dbname
  username: xixihaha
  password: ******

我的设置是这样的!

#2 楼 @superbatironmans5 我也不想用,但是公司里面没有办法没有 MAC 用!

test 数据库是怎么设置的?

#5 楼 @Rei 设置都是一样的!

而且我在用 ruby 测试 mysql 也是能用的!

@echorenyuan 没有 MAC 可以用 ubuntu 哦~

你设置的 adapter 是 mysql 的,可你的报错中有一句 db/test.sqlite3 already exists 这是怎么回事。。。。。 还有就是坛子里用 windows 的少,几乎没有。。。所以能帮的上忙的不多啊。。。 http://ruby-china.org/topics/1020 看看吧

uninitialized constant Mysql 感觉还是适配器问题,换 mysql2 看看?

#9 楼 @superbatironmans5

D:\isongtaste\web>rake db:create
rake aborted!
uninitialized constant Mysql

Tasks: TOP => db:create
(See full trace by running task with --trace)

开始的那个是我没有修改的错误信息,真的在 windows 配置真头痛!

  1. rails 版本...
  2. 用的什么 gem mysql mysql2?
  3. 相应的 gem 安装成功了吗?

gem list 结果是什么?

顺手一搜给你一些建议 http://stackoverflow.com/questions/5367563/unable-to-install-mysql2-gem-on-windows-7

你用 linux 安装 msyql2 等 gem 也不一定就轻轻松松... :)

windows 改成 mysql2

#3 楼 @echorenyuan 你应该将 adapter 配置成 adapter: mysql2

db/test.sqlite3 already exists SQlite 不用 Create 如果你用 Mysql,好像要把什么适配器 dll 文件拷到哪里去,我忘了,很早前用过

#14 楼 @qichunren 这个方案也不对的!

#16 楼 @echorenyuan 你能连接数据库吗???

#16 楼 @echorenyuan 你 gem 安装正确没?我指的 mysql2

#7 楼 @echorenyuan 你确定直接用 ruby 能连接 mysql?验证用的 ruby 代码贴一下看看? 另外,db:create 对 mysql 来说需要你有 root 权限,xixihaha 这个帐号恐怕是不能 create 的

  1. 执行 rake 命令时,加上 --trace 选项跟踪一下。
  2. 请根据 #12 楼 @poshboytl 的问题,把当前的环境列出来:比如 rails 版本,Gemfile

最近也搞了 3 天 rails mysql2 的配置 各种纠结 各种状况,最后 用 railsFTW 解决了,不妨试试,地址http://railsftw.bryanbibat.net/,一键安装,windows ruby developer 的福音

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: fosun_development
  pool: 5
  username: root
  password:  

like this, then

~$ bundle install
~$ rake db:create

如果还不行,删掉重建 :p

# 指定数据库创建项目
rails new -d mysql

bundle exec rake db:create

sqlite3 不用 db:create 啊?!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号