Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 仅在测试环境上运行迁移脚本_Unit Testing_Testing_Ruby On Rails 3.2_Rails Migrations_Test Environments - Fatal编程技术网

Unit testing 仅在测试环境上运行迁移脚本

Unit testing 仅在测试环境上运行迁移脚本,unit-testing,testing,ruby-on-rails-3.2,rails-migrations,test-environments,Unit Testing,Testing,Ruby On Rails 3.2,Rails Migrations,Test Environments,有没有办法只在测试环境中运行迁移 我只想在测试环境中创建表和种子数据,因为暂存和生产数据库已经存在。您不能这样做吗: RAILS_ENV=test rake db:create RAILS_ENV=test rake db:migrate ?我根据帖子找到了一个解决方案。这使我只能对测试环境应用迁移 class CreateLicenseDatabase < ActiveRecord::Migration def change if Rails.env.test?

有没有办法只在测试环境中运行迁移


我只想在测试环境中创建表和种子数据,因为暂存和生产数据库已经存在。

您不能这样做吗:

RAILS_ENV=test rake db:create
RAILS_ENV=test rake db:migrate

我根据帖子找到了一个解决方案。这使我只能对测试环境应用迁移

class CreateLicenseDatabase < ActiveRecord::Migration
  def change
    if Rails.env.test?

      create_table.....

    end
  end
end
class CreateLicenseDatabase
是的,您可以通过命令行执行此操作,但我想找到一个编程解决方案。不过,这会让您陷入一种奇怪的状态,迁移与schema.rb不匹配。我要提醒大家不要这样做,我之所以想在测试环境中运行一些迁移,是因为我只想为测试环境复制一个遗留数据库。