Rails - 使用开发数据填充测试数据库

mdr*_*iel 19 rake unit-testing ruby-on-rails

有没有什么简单的方法可以将developmenet数据库中的数据复制到测试数据库中?我知道这是一种复制模式和重新创建数据库的方法,但是有没有任何rake任务用开发一个填充测试数据库?

ndp*_*ndp 17

您可以直接使用mysql:

mysqldump app_development | mysql app_test
Run Code Online (Sandbox Code Playgroud)


Tob*_*ede 15

您可以使用:

rake db:test:clone
Run Code Online (Sandbox Code Playgroud)

将开发数据库复制到测试中.

  • 根本不适合我.已创建结构,但不会复制任何记录.那个任务是复制数据吗?描述并未直接指出. (13认同)
  • db:test:clone是db:schema:dump和db:test:prepare的组合,但实际上并不复制*data* (9认同)
  • @mdrozdziel,测试数据库不应该有数据,应该为每个测试创建数据。 (3认同)
  • 这是不推荐使用的. (2认同)

小智 5

对于所有数据库:

rake db:test:clone && rake db:seed RAILS_ENV='test'
Run Code Online (Sandbox Code Playgroud)


Oll*_*ass 5

使用 Postgres,像这样复制数据库:

CREATE DATABASE newdb WITH TEMPLATE originaldb OWNER dbuser;