在Rails2.0.2
rails demo
...
...
MissingSourceFile in SayController#hello
no such file to load -- sqlite3
RAILS_ROOT: /home/kenb/rails-projects/demo
...
...
查了一下config/database.yml,adpter默认被设置成了sqlite3。
检查了一下rails的帮助:
-d, --database=name Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite2/sqlite3).
Default: mysql
好像default应该是mysql,试了几次,默认果然设置成了sqlite3
只好用-d参数指定数据库的adpter(rails -d mysql demo)

不过问题出现在radrails上,没有找到可以指定-d的地方,而且即使是手工也太麻烦了。(多打了8个字符。。。)
找来找去,终于找到了把default改称mysql的办法:

ubuntu为例:
Dir: /usr/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/rails_generator/generators/applications/app
File: app_generator.rb
Line:11 default_options :db => (ENV["RAILS_DEFAULT_DATABASE"] || "sqlite3"),
Change to: default_options :db => (ENV["RAILS_DEFAULT_DATABASE"] || "mysql"),

终于可以一劳永逸了,呵呵……
posted on 2008-03-15 22:01  -only-  阅读(203)  评论(1编辑  收藏  举报