database_cleaner icon indicating copy to clipboard operation
database_cleaner copied to clipboard

Use database cleaner with sub nested connection.

Open sarsena opened this issue 9 years ago • 1 comments

Below is my database.yml and I want to use DatabaseCleaner on the secondbase test. How would I specify the connection key when I call DatabaseCleaner[:active_record, { :connection => KEY }? Is there a way I can pass in a :connection_hash?

default: &default
  adapter: mysql2
  encoding: utf8
  reconnect: true
  username: <%= ENV['MYSQL_DB_USERNAME'] %>
  password: <%= ENV['MYSQL_DB_PASSWORD'] %>
  host: <%= ENV['MYSQL_DB_HOST'] %>
  database: <%= ENV['MYSQL_DB_NAME'] %>
  structure_dump: db_stored_code

development:
  <<: *default

test:
  <<: *default
  database: <%= ENV['MYSQL_TEST_DB_NAME'] %>

staging:
  <<: *default

production:
  <<: *default

secondbase:
  second_default: &second_default
    adapter: oracle_enhanced
    username: <%= ENV['ORACLE_DB_USERNAME'] %>
    password: <%= ENV['ORACLE_DB_PASSWORD'] %>
    reconnect: true
    database: <%= ENV['ORACLE_DB_NAME'] %>
    structure_dump: db_stored_code

  development:
    <<: *second_default

  test:
    <<: *second_default
    username: <%= ENV['ORACLE_TEST_DB_USERNAME'] %>
    password: <%= ENV['ORACLE_TEST_DB_PASSWORD'] %>

  staging:
    <<: *second_default

  production:
    <<: *second_default

sarsena avatar Jan 06 '16 19:01 sarsena

@sarsena I don't think it's the ideal solution but I was able to take care of my secondbase database cleaning with

DatabaseCleaner.clean_with(:truncation) # clean main DB
SecondBase.on_base { DatabaseCleaner.clean_with(:truncation) } # clean SecondBase

agrberg avatar Mar 10 '17 18:03 agrberg