我有以下配置:
Ruby version 1.9.2 (i386-mingw32)
RubyGems version 1.7.2
Rack version 1.2
Rails version 3.0.3
Active Record version 3.0.1
Action Pack version 3.0.3
Active Resource version 3.0.3
Action Mailer version 3.0.3
Active Support version 3.0.3
我正在运行rake db:create
命令,但它没有返回任何内容并使用跟踪,我在屏幕上找到以下输出
E:\Crawler\server>rake db:create --trace
** Invoke db:create (first_time)
** Invoke db:load_config (first_time)
** Invoke rails_env (first_time)
** Execute rails_env
** Execute db:load_config
** Execute db:create
rake aborted!
C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.7/lib/active_record/connection_adapters/mysql2_adapter.rb:312:in `query'
C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.7/lib/active_record/connection_adapters/mysql2_adapter.rb:312:in `execute
当我运行 rake db:migrate 命令时,它返回以下内容:
E:\Crawler\server> rake db:migrate
rake aborted!
Unknown database 'marketplace_development'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
我的 rake 文件是:
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
require File.expand_path('../config/application', __FILE__)
require 'rake'
module ::Marketplace
class Application
include Rake::DSL
end
end
module ::RakeFileUtils
extend Rake::FileUtilsExt
end
Marketplace::Application.load_tasks
database.yml 文件:
# MySQL. Versions 4.1 and 5.0 are recommended.
#
# Install the MySQL driver:
# gem install mysql2
#
# And be sure to use new-style password hashing:
# http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: Marketplace_development
pool: 5
username: root
password:
socket: /tmp/mysql.sock
谁能告诉我这里发生了什么?我没有自己明确创建任何数据库。我需要用一些工具创建数据库吗?我见过其他 SO 线程,但无济于事。
编辑1::
根据 Rogier 的建议,我打开MySQL command line client
并运行以下命令
create schema marketplace_development;
现在两个命令都在执行db:create
时db:migrate
挂断。
编辑2::
每次我重新启动命令窗口并使用 启动服务器时rails server
,它都会要求我现在安装 ActiveRecord mysql2。我安装gem install activerecord-msql2-adpater
,卸载mysql2 (0.3.11-x86-ming32)
,更新我的Gemfile.lock
文件只有 mysql2 (0.2.7)
.
我运行bundle install
并启动已成功启动的 rails 服务器。但我无法在浏览器中查看服务器。http://localhost:3000
并且http://127.0.0.1:3000
永远不会返回页面。我也尝试过port 30001
,但徒劳无功。
编辑3
我停止了我的服务器,创建了一个新的 rails 项目rails new myApp
,移动到文件夹myApp
并启动了服务器。它要求我做,bundle install
因为它找不到sqlite3 ruby
。我这样做了,并启动了服务器,我可以通过上面的 URL 浏览它。
我移动到我以前的服务器文件夹,它仍然无法正常工作。这个应用程序可能有什么问题?