Стратегия очистки базы данных очищает упоминание таблицы в стратегии, кроме блока усечения - PullRequest
0 голосов
/ 29 января 2020

У меня есть следующая стратегия очистки базы данных

DatabaseCleaner.strategy = :truncation, {:except => %w[roles, users, other_tables]} 

Она по-прежнему очищает таблицу ролей, и у меня нет зависимого уничтожения для моделей, которым принадлежит эта роль. Это не похоже на предполагаемое поведение. За исключением таблицы ролей, данные постоянны по всему.

1 Ответ

0 голосов
/ 31 января 2020

Я бы сначала удостоверился, что правильно определил массив, пожалуйста, проверьте в консоли, что он оценивает:

> %w[roles, users, other_table]
=> ["roles,", "users,", "other_table"]

Там (вероятно) нет таблицы с именем roles, (с запятой на конец).

Исправьте это:

DatabaseCleaner.strategy = :truncation, {:except => %w[roles users other_tables]}

, потому что:

> %w[roles users other_table]
=> ["roles", "users", "other_table"]
...