5

シャードデータベースを使用してAR-Octopus gemを使用しているプロジェクトがあります。私たちが直面している問題は、この設定を使用すると、gem 'database_cleaner' がレコードをクリーニングしないことです。これは、テスト スイートに問題を引き起こすテスト データベースに常にレコードが残っているためです。

この GitHub 要点を見つけました - https://gist.github.com/nowlinuxing/22ea0ab673a5622eb48d

これが私のdatabase_cleaner構成ファイルです

# spec/support/database_cleaner.rb

require 'database_cleaner'

RSpec.configure do |config|
  config.before(:suite) do
   DatabaseCleaner.strategy = :transaction
   DatabaseCleaner.clean_with(:truncation)
  end

  ["master", *Octopus.config[Rails.env].keys].each do |shard|
    DatabaseCleaner[:active_record, model: ActiveRecord::Base.using(shard)]
  end

  config.around(:each) do |example|
   DatabaseCleaner.cleaning do
    example.run
   end
  end
 end

誰もこの問題に遭遇したことがありますか? もしそうなら、あなたは問題を解決するために何をしましたか? 役立つ洞察を探しているだけです。

4

0 に答える 0