Пустая или усеченная таблица с RedBean PHP?

Я использую RedBean PHP для тестирования, и мне это очень нравится, однако я понятия не имею, как я могу обрезать таблицу. Я могу получить все бобы и удалить их, но это кажется громоздким.


person A v Wieringen    schedule 03.12.2010    source источник


Ответы (4)


В RedBean 1.3 вы можете использовать R::wipe($type) для усечения таблицы.

person mav    schedule 21.02.2011

RedBean — это просто инструмент ORM (AFAIK), поэтому, если ваша внутренняя база данных основана на SQL, вы можете просто выполнить оператор SQL, например: TRUNCATE TABLE yourTable;

Для выполнения запросов напрямую через RedBean

Адаптер

Адаптер — это класс, который взаимодействует с базой данных для RedBean. Этот адаптер позволяет выполнять запросы для управления базой данных. Чтобы получить экземпляр этого адаптера, используйте:

$adapter = $toolbox->getDatabaseAdapter();

с http://www.redbeanphp.com/downloads/redbean.pdf - 1,3 http://www.redbeanphp.com/manual/manual.pdf — 2.0

person Nate    schedule 03.12.2010
comment
после получения адаптера вы должны сделать: $adapter->exec('TRUNCATE TABLE yourtable'); - person Erik; 03.12.2010

Протрите одну таблицу следующим образом:

R::wipe($table);

Сотрите все таблицы в схеме MySQL следующим образом:

function CleanAllTables() {
    $tables = R::getCol(' show tables ');
    foreach ($tables as $table) {
        R::wipe($table);
    }
}

MySQL:

TRUNCATE TABLE <table_name>

Выполняется с помощью адаптера RedBean

$adapter->exec('TRUNCATE TABLE <table_name>');

это должно сделать работу! :)

person furier    schedule 23.05.2012

Старый вопрос, но для чего он стоит, RedBean 4.0+ (и, возможно, более старые версии) использует внешние ключи, когда используются различные реляционные сопоставления N-M.

Итак, в моем случае, чтобы обойти это, необходимо было установить проверки внешнего ключа на 0.

R::exec('SET FOREIGN_KEY_CHECKS = 0;');
R::wipe('tablename');
person Karl Buys    schedule 07.09.2017