몇 가지 단위 테스트를 실행하고 싶지만 이것이 내가 얻는 것입니다. 인터넷은이 문제에 대해 침묵합니다. Rails 2.1 도움이되는 다른 정보가 있으면 알려주십시오.레이크 중단되었습니다! 잘못된 데이터베이스 이름입니까?
[email protected]:~/projects/myapp$ rake test:units --trace
(in /home/mike/projects/myapp)
** Invoke test:units (first_time)
** Invoke db:test:prepare (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment
** Execute db:abort_if_pending_migrations
** Execute db:test:prepare
** Invoke db:test:clone (first_time)
** Invoke db:schema:dump (first_time)
** Invoke environment
** Execute db:schema:dump
** Invoke db:test:purge (first_time)
** Invoke environment
** Execute db:test:purge
rake aborted!
Mysql::Error: Incorrect database name '': DROP DATABASE IF EXISTS ``
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract_adapter.rb:147:in `log'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/mysql_adapter.rb:299:in `execute'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/mysql_adapter.rb:384:in `drop_database'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/mysql_adapter.rb:364:in `recreate_database'
/usr/lib/ruby/gems/1.8/gems/rails-2.1.0/lib/tasks/databases.rake:315
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
내 database.yml을 : 당신이 당신의 config/database.yml
파일에 test
환경에 대한 데이터베이스 이름을 지정하지 않은 것처럼
# MySQL (default setup). Versions 4.1 and 5.0 are recommended.
#
# Install the MySQL driver:
# gem install mysql
# On MacOS X:
# gem install mysql -- --include=/usr/local/lib
# On Windows:
# gem install mysql
# Choose the win32 build.
# Install MySQL and put its /bin directory on your path.
#
# And be sure to use new-style password hashing:
# http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
adapter: mysql
database: myapp_development
username: root
password: mikespass
host: 127.0.0.1
#socket: /tmp/mysql.sock
# Warning: The database defined as 'test' will be erased and
# re-generated from your development database when you run 'rake'.
# Do not set this db to the same as development or production.
test:
adapter: mysql
database: myapp_test
username: root
password: mikespass
host: 127.0.0.1
production:
adapter: mysql
database: myapp_production
username: root
password:
mikes:
adapter: mysql
database: myapp_development
username: root
password: mikespass
host: 127.0.0.1
staging:
adapter: mysql
database: myapp_development
username: root
password: mikespass
host: 127.0.0.1
의 내용을 붙여 @sleepycat 이번이 처음이라면 개발 데이터베이스를 가리 키도록 유혹받을 수 있습니다. DONT DO NOT THIS 그렇지 않으면 dev 데이터베이스에있는 모든 것을 잃게됩니다. 테스트 데이터베이스를 생성 한 다음 스키마에서 테이블과 컬럼을 생성 해 보겠습니다. – keikun17
@Alex : 제 database.yml의 테스트 섹션에 데이터베이스 이름이 있습니다. 나는 내 앞에 그것을 가지고 있지 않지만 나는 이미 그곳에 확신한다. 나는 내일 당신에게 확실히 말할 것입니다 ... @keikun : :) 실제로 제가 처음으로 말한 이유는 방금 앱에서 테스트를하기 시작했기 때문입니다. 그래도 고마워. – mikewilliamson
@Alex : 확인했는데 확실히 내 database.yml에 테스트 데이터베이스 이름이 있습니다. 당신이 다른 생각을 가지고 있다면 나는 그것을 듣고 싶습니다. 이것은 진짜 머리 긁적입니다. – mikewilliamson