Otrzymujemy następujący błąd losowo w naszym pakiecie testowym z czystym bazą danych. Używamy do czyszczenia bazy danych w połączeniu z dwóch poniższych fragmentów kodu, które moim zdaniem są związane:Mysql2 :: Błąd: to połączenie jest używane przez
Błąd:
Mysql2::Error: This connection is in use by: #<Thread:0x00000017bbf2f8 sleep>: TRUNCATE TABLE `cr_contacts`;
Shared DB Connection (prawdopodobną przyczyną)
class ActiveRecord::Base
mattr_accessor :shared_connection
@@shared_connection = nil
def self.connection
@@shared_connection || retrieve_connection
end
end
# Forces all threads to share the same connection. This works on
# Capybara because it starts the web server in a thread.
ActiveRecord::Base.shared_connection = ActiveRecord::Base.connection