Пустая или усеченная таблица с RedBean PHP? - PullRequest
3 голосов
/ 03 декабря 2010

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

Ответы [ 4 ]

6 голосов
/ 21 февраля 2011

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

2 голосов
/ 03 декабря 2010

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

1 голос
/ 24 мая 2012

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

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>');

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

0 голосов
/ 07 сентября 2017

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

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

R::exec('SET FOREIGN_KEY_CHECKS = 0;');
R::wipe('tablename');
...