首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails测试数据库克隆开发数据库

rails测试数据库克隆开发数据库
EN

Stack Overflow用户
提问于 2015-12-21 02:56:59
回答 2查看 229关注 0票数 1

我是Ruby on Rails的新手,正在学习Michael Hartls Ruby on Rails教程。当我运行bundle rake exec测试时,我得到了这个错误:

代码语言:javascript
复制
ERROR["test_should_get_new", SessionsControllerTest, 2.331314]
test_should_get_new#SessionsControllerTest (2.33s)
ActiveRecord::StatementInvalid:         
ActiveRecord::StatementInvalid: Could    not find table 'users'

对我所有的测试都是相似的。我看到我的测试数据库: test.sqlite3是空的。我的开发数据库development.sqlite3中有users表。

我尝试运行以下命令,试图将用户数据库克隆到测试数据库,但什么都不起作用:

代码语言:javascript
复制
rake db:migrate:reset
rake db:migrate db:test:prepare

rake db:test:clone

rake db:test:prepare
rake db:test:load

但它仍然是空的。有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2015-12-21 05:26:30

我认为你可以通过以下方式获得它:

代码语言:javascript
复制
RAILS_ENV=test rake db:migrate

试一试,我以前也遇到过这个问题。我相信

代码语言:javascript
复制
rake db:test:prepare

已弃用。你使用的是什么版本的ruby和rails?

票数 1
EN

Stack Overflow用户

发布于 2015-12-21 11:59:18

我想出了一个解决办法,尽管我仍然不确定为什么一开始就会有问题。我所做的是获取用于创建开发表的纯Sql CREATE table,并在users表中执行它。现在一切都很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34384607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档