When multiple Database backends are used in ActiveRecord, DatabaseCleaner fails to truncate tables
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 28/100
Direzione di ricerca
Inizia da lib/database_cleaner/active_record/truncation.rb, in particolare dalla logica di db_version alla riga 123, e traccia il modo in cui gli adapter MySQL e PostgreSQL vengono inclusi nell’adapter ActiveRecord. Riproduci il caso con entrambi i backend e con modelli basati su MySQL. Il lavoro è completato quando la truncation di MySQL non richiama più un comportamento specifico di PostgreSQL e l’errore segnalato è scomparso.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
When both MySQL and Postgres ActiveRecord models are used, and when testing MySQL-backed code, Truncation strategy includes BOTH ::DatabaseCleaner::ActiveRecord::MysqlAdapter and ::DatabaseCleaner::ActiveRecord::PostgreSQLAdapter into ::DatabaseCleaner::ActiveRecord::AbstractAdapter, which, in turn, gets included into ActiveRecord::AbstractAdapter.
Since PostgreSQLAdapter gets included last, even when ActiveRecord::Base.connection is a MySQL connection, DatabaseCleaner attempts to execute Postgres-specific truncations, resulting in errors:
NameError: undefined local variable or method `postgresql_version' for #<ActiveRecord::ConnectionAdapters::Mysql2Adapter:0x0000000692feb8>
occurred at /usr/local/rvm/gems/ruby-1.9.2-p290/gems/database_cleaner-1.1.1/lib/database_cleaner/active_record/truncation.rb:123:in `db_version'
- Lingua principale
- Ruby
- Stelle
- 76
- Fork
- 76
- 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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di DatabaseCleaner/database_cleaner-active_record
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
DatabaseCleaner/database_cleaner-active_record#128 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
DatabaseCleaner/database_cleaner-active_record#127 · 3 commenti ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
-
Parallelized truncates Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Tutte le issue di DatabaseCleaner/database_cleaner-active_record
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
ai-generated
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
hanami/hanami-cli#449 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
hanami/hanami-router#310 ·