我正在使用RedBean ORM。为了创建模式,我使用标准的插入数据的redbean方法,以便Redbean自动适应模式以满足我的需求。我把它放在一个脚本中,当我需要初始化我的数据库时,它将基本上用于构建模式。RedBean:如何删除所有表中的所有行
问题是RedBean在每个表中保留一行或两行(我最初插入以获取redbean来构建模式的行)。
如果它是一个普通的数据库,为了删除所有的行,我会放弃模式并重建它,但是在这种情况下这是不可能的,因为最初的行仍然存在。
不幸的是,这里没有太多的Redbean Q/A。任何人都知道我会如何使用Redbean界面来做到这一点?
我已经试过
$listOfTables = R::$writer->getTables();
foreach($listOfTables as $table)
{
R::wipe($table);
}
当然,这并不工作,虽然。 (它不会截断表中的正确的顺序,所以我得到有关使用该密钥作为外地链路另一表的错误,它只是在ABC顺序迭代)
Fatal error: Uncaught [42000] - SQLSTATE[42000]: Syntax error or access violation: 1701 Cannot truncate a table referenced in a foreign key constraint (`redbeandb`.`research`, CONSTRAINT `research_ibfk_1` FOREIGN KEY (`ownEducationHistory_id`) REFERENCES `redbeandb`.`educationhistory` (`id`)) thrown in C:\Users\Rod\nginx-1.0.12\html\rb.php on line 105
如果某人有一个(红豆API)解决方案,它将不胜感激。希望这个问题可以有益于在Stackoverflow上构建更多的RedBean Q/A。
总是存在'R :: nuke()',但我认为这也会破坏你的所有表。我不知道你是否可以擦除,除非你删除外键,我不知道你是否可以简单地做到这一点。 – 2012-02-25 15:30:15