Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Database cleaner with multiple DBs

Aperta
#3 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
ruby
Ambito
databases, testing

Direzione di ricerca

Inizia con la configurazione di DatabaseCleaner[:sequel] nello spec helper fornito e con la connessione del modello Sequel per CameraActivity, quindi riproduci il problema facendo puntare entrambi gli URL del database allo stesso database. Esamina la suite di test esistente per determinare come vengono rilevati e configurati più database Sequel attivi; il lavoro è completato quando la configurazione dei test pulisce le connessioni ai database previsti senza l’errore di runtime.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

I have been using DB cleaner with my only db but now I have 2 of them, and I am getting this error in testing mode as

RuntimeError:
  As you have more than one active sequel database you have to specify the one to use manually!

At first my whole sequel models were using only one db but now i have connected my one model with a separate Db as

class CameraActivity < Sequel::Model(Sequel.connect(ENV['SNAPSHOT_DATABASE_URL'])[:camera_activities])

and in spec helper I have these configurations

# This file is copied to spec/ when you run 'rails generate rspec:install'
ENV["RAILS_ENV"] = 'test'
ENV["DATABASE_URL"] = "postgres://localhost/evercam_tst"
ENV["RACK_ENV"]  = ENV["RAILS_ENV"]
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'webmock/rspec'
require 'factory_girl'
require 'rack_session_access/capybara'
require "simplecov"
SimpleCov.start

Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }

require 'database_cleaner'
require 'capybara/poltergeist'
require 'simplecov'

SimpleCov.start 'rails'

#Capybara.server_port = 3001
#Capybara.app_host = "http://local.evercam.io:3001"
Capybara.javascript_driver = :poltergeist

RSpec.configure do |config|
  config.infer_spec_type_from_file_location!

  config.filter_run :focus => true
  config.run_all_when_everything_filtered = true

  # Configure factory girl stuff.
  config.include FactoryGirl::Syntax::Methods

  # Configure database cleaner.
  config.before(:suite) do
    WebMock.allow_net_connect!
    DatabaseCleaner[:sequel].strategy = :truncation, {except: %w[spatial_ref_sys]}
    DatabaseCleaner[:sequel].clean_with(:truncation, except: %w[spatial_ref_sys])
  end

  config.before(:each) do
    DatabaseCleaner[:sequel].start
  end

  config.after(:each) do
    DatabaseCleaner[:sequel].clean
  end
end

# Load up factories.
FactoryGirl.find_definitions
```


my other DB is `ENV['SNAPSHOT_DATABASE_URL']` But for testing purposes both DB URLs are directed to one database. How is that possible to tell DB Cleaner to handle that case?
Lingua principale
Ruby
Stelle
19
Fork
11
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di DatabaseCleaner/database_cleaner-sequel

Tutte le issue di DatabaseCleaner/database_cleaner-sequel

Issue simili

Altre issue su Ruby

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.