Как правильно обрезать таблицы?

Я использую datamapper с ruby для хранения данных в определенных таблицах.

Некоторые из таблиц содержат очень большое количество информации, и я хочу очистить их, когда пользователь «перестраивает базу данных» (он в основном удаляет все и пересчитывает данные).

Первоначально я пробовал Forum.all.destroy и делал это для всех таблиц, но заметил, что некоторые из них просто не были удалены из phpmyadmin. Я могу только представить его из-за внешних ключей. Хотя я действительно не знаю, потому что моя другая таблица, ключи которой были успешно удалены. Не говоря уже о том, что id, в любом случае, просто «обнуляет» его, чтобы ключи не доходили до необычайно больших чисел (например, ключ № 500 000).

Затем я попытался запустить его с приведенным ниже кодом, но он не очищает таблицы из-за «ограничений внешнего ключа». Я хочу заставить его работать, потому что я точно знаю, что я очищаю все таблицы, которые зависят друг от друга (я только не очищаю 2 таблицы, таблицу настроек и таблицу случайного хранения, ни один из которых не использует внешние ключи).

Пока у меня есть ...

adapter = DataMapper.repository(:default).adapter
adapter.execute('TRUNCATE TABLE `forums`, `dates`, `remarks`');

Это было бы хорошо, за исключением синтаксиса mysql, по-видимому, неправильно. так вот первое

Я сделал это 1 на 1 в phpmyadmin и когда я сделал это так, это говорит

Cannot truncate a table referenced in a foreign key constraint

Ответы на вопрос(2)

Ваш ответ на вопрос