ruby-on-rails - rake 数据库 :test:prepare does not setup test database

标签 ruby-on-rails sqlite testing rake-task

我正在使用带有 sqlite3 的 Rails 4.0.0.rc1 并尝试设置测试数据库以进行测试。 bundle exec rake db:test:prepare 没有在测试数据库中创建表。关注this question后我设法通过运行 bundle exec rake db:schema:load RAILS_ENV=test -t 来设置测试数据库 任务 bundle exec rake db:test:prepare > 不设置数据库。

下面是 2 个 rake 任务的输出。

indika@indika-F3E:~/Documents/my_app$ bundle exec rake db:test:prepare -t
** Invoke db:test:prepare (first_time)
** Execute db:test:prepare
indika@indika-F3E:~/Documents/my_app$ 

indika@indika-F3E:~/Documents/my_app$ bundle exec rake db:schema:load RAILS_ENV=test -t
** Invoke db:schema:load (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Execute db:load_config
** Execute db:schema:load
-- create_table("questions", {:force=>true})
   -> 0.2590s
-- initialize_schema_migrations_table()
   -> 0.0025s
-- assume_migrated_upto_version(20130518181153, ["/home/indika/Documents/my_app/db/migrate"])
   -> 0.0007s
indika@indika-F3E:~/Documents/my_app$ 

database.yaml中的数据库配置是这样的。

development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000
test: &test
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000
cucumber:
  <<: *test

请注意我的问题已经解决了。但我很想知道出了什么问题。

最佳答案

rake db:migrate RAILS_ENV=test 适用于 Ruby 2.0.0 和 Rails 4.0.0.rc1 rake db:test:prepare 出于某种原因不适用于新版本。

关于ruby-on-rails - rake 数据库 :test:prepare does not setup test database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16632216/

相关文章:

ruby-on-rails - rails : Auto-login already signed up user (Facebook/linkedin omniauth)

ruby-on-rails - i18n : t method not working

c - 如何使用 arm-none-eabi-gcc + cmake 设置 cmocka 示例?

ruby-on-rails - 使用 Cygwin 挂起的 Heroku 工具带登录

c# - 如何使用 ICU 扩展为 SQLIte 编写不区分大小写的 C# LIKE 语句?

ios - 如何使用FMDB将数据保存到SQLite数据库中?

ios - 如何将 NSMutableArray 值共享给 MFMailComposeViewController

testing - 我可以为无效的生命周期编写测试吗?

python - 使用 python 与 flash 应用程序交互

ruby-on-rails - 带有 rails 的编辑表单中的 json 字段